我想创建自己的方法.ToString()
,就像我想在自己的项目中使用一样。
例如ToDecimalOrZero()
,我想将数据转换为十进制,或者如果数据为空,则将其转换为零。
我知道我不应该在这里索要代码,但我一点也不知道该怎么做。
谁能帮我吗?或者至少把我介绍给某个地方……我有点迷路了。谢谢 :)
我想创建自己的方法.ToString()
,就像我想在自己的项目中使用一样。
例如ToDecimalOrZero()
,我想将数据转换为十进制,或者如果数据为空,则将其转换为零。
我知道我不应该在这里索要代码,但我一点也不知道该怎么做。
谁能帮我吗?或者至少把我介绍给某个地方……我有点迷路了。谢谢 :)
使用扩展方法:
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
这是一个如何编写自己的扩展方法的示例
namespace ExtensionMethods
{
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
}
来自MSDN
请注意,扩展方法必须是静态的,以及包含扩展方法的类