有自定义官方示例链接:
如何实现和调用自定义扩展方法 - C# | Microsoft Learn
1.静态类
2.静态方法
3.第一参数固定为this + 要修改的类型,后面才是自定的参数
AI给出的一个示例:没有自定义参数 、有自定义参数的
using System;
using System.Collections.Generic;
using CustomExtensions;
namespace ExtensionMethodExample
{
class Program
{
static void Main(string[] args)
{
// 创建一个整数列表
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 调用扩展方法 Sum,计算列表中所有数字的总和
int total = numbers.Sum();
// 输出结果
Console.WriteLine($"Sum of all numbers in the list is: {total}");
}
}
}
namespace CustomExtensions
{
// 定义一个静态类来存放扩展方法
public static class ListExtensions
{
// 定义一个扩展方法 Sum,用于计算 List<int> 中所有数字的总和
public static int Sum(this List<int> list)
{
int total = 0;
foreach (int number in list)
{
total += number;
}
return total;
}
}
}
using System;
using System.Collections.Generic;
using CustomExtensions;
namespace ExtensionMethodExample
{
class Program
{
static void Main(string[] args)
{
// 创建一个整数列表
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// 指定阈值
int threshold = 5;
// 调用扩展方法 Sum,计算大于阈值的数字的总和
int total = numbers.Sum(threshold);
// 输出结果
Console.WriteLine($"Sum of numbers greater than {threshold} is: {total}");
}
}
}
namespace CustomExtensions
{
// 定义一个静态类来存放扩展方法
public static class ListExtensions
{
// 定义一个扩展方法 Sum,用于计算 List<int> 中大于指定阈值的数字的总和
public static int Sum(this List<int> list, int threshold)
{
int total = 0;
foreach (int number in list)
{
if (number > threshold)
{
total += number;
}
}
return total;
}
}
}