创建类似.ToString()的方法

时间:2013-06-04 09:10:25

标签: c#

我想创建自己的方法,例如我想在我自己的项目中使用的.ToString()

例如我想将数据转换为十进制的ToDecimalOrZero(),或者如果数据为空,则将其转换为零。

我知道我不应该在这里要求代码,但我不知道如何做到这一点。

任何人都可以帮助我吗?或者至少把我推荐给我......我有点失落。谢谢:))

2 个答案:

答案 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