我想创建自己的方法,例如我想在我自己的项目中使用的.ToString()
。
例如我想将数据转换为十进制的ToDecimalOrZero()
,或者如果数据为空,则将其转换为零。
我知道我不应该在这里要求代码,但我不知道如何做到这一点。
任何人都可以帮助我吗?或者至少把我推荐给我......我有点失落。谢谢:))
答案 0 :(得分:10)
以下是如何编写自己的扩展方法
的示例namespace ExtensionMethods
{
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
}
来自MSDN 的
请注意,扩展方法必须是静态,以及包含扩展方法的类
答案 1 :(得分:10)
使用扩展方法:
namespace ExtensionMethods
{
public static class StringExtensions
{
public static decimal ToDecimalOrZero(this String str)
{
decimal dec = 0;
Decimal.TryParse(str, out dec);
return dec;
}
}
}
using ExtensionMethods;
//...
decimal dec = "154".ToDecimalOrZero(); //dec == 154
decimal dec = "foobar".ToDecimalOrZero(); //dec == 0