这篇文章主要介绍了C# 扩展方法的使用,帮助大家更好的理解和学习c#编程语言,感兴趣的朋友可以了解下
译文链接:https://www.infoworld.com/art...
public static class StringExtensions
{
public static bool IsNumeric(this string str)
{
double output;
return double.TryParse(str, out output);
}
}
请注意扩展方法中的第一个参数,正如之前讨论过的,任何扩展方法都必须是静态的,而且在参数之前还要申明一下 this 关键词,比如像上面这个例子一样,相当于告诉了编译器你已经在 string 类上扩展了一个 IsNumeric 方法。
接下来一起看一下如何在 string 类中使用 IsNumeric 方法。
static void Main(string[] args)
{
string str = "100";
if (str.IsNumeric()) Console.WriteLine("The string object named str contains numeric value.");
Console.Read();
}
当你执行完上面这段程序,会在控制台输出:The string object named str contains numeric value。
你可以使用扩展方法这门技术通过向类添加方法的形式增强类的功能,而不需要修改,派生或者重新编译原来的类型,正如之前我提到的,扩展方法也可以应用于值类型之上,接下来我通过一个例子来验证下这是如何实现的。
下面我定义了一个 IntegerExtensions 类,里面有一个 IsEven 扩展方法,当输入的参数是偶数的话,这个方法会返回 true,否则返回 false。
public static class IntegerExtensions
{
public static bool IsEven(this int i)
{
return ((i % 2) == 0);
}
}
接下来的代码将会展示如何在 integer 类型上调用这个扩展方法。
static void Main(string[] args)
{
int n = 2;
if (n.IsEven()) Console.WriteLine("The value of the integer is even.");
}
更多高质量干货:参见我的 GitHub: dotnetfly
以上就是C# 扩展方法的使用的详细内容,更多关于c# 扩展方法的资料请关注得得之家其它相关文章!
本文标题为:C# 扩展方法的使用


- Qt计时器使用方法详解 2023-05-30
- ubuntu下C/C++获取剩余内存 2023-09-18
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- Easyx实现扫雷游戏 2023-02-06
- C语言详解float类型在内存中的存储方式 2023-03-27
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- C++ 数据结构超详细讲解顺序表 2023-03-25
- C语言qsort()函数的使用方法详解 2023-04-26