C#将函数或变量方法添加到字符串变量中

时间:2011-11-09 05:06:55

标签: c# override

我希望能够将自己的函数和变量添加到现有的字符串变量中。

例如代替

if(string.IsNullOrEmpty(mystring) == false)

我这样做

if(mystring.isEmpty == false)

使用isEmpty,只需返回isnullorempty()。 这只是我需要添加到此变量以加快速度的众多功能之一。

note * string not String

5 个答案:

答案 0 :(得分:2)

您需要使用extension methods。但要注意不要使它们与正常方法有所不同。

答案 1 :(得分:2)

使用扩展方法。 创建一个静态类,然后在像这样的字符串上声明静态方法(扩展方法)

//这表示您正在扩展字符串类

中的方法
public static bool isEmpty(this string input)
{
   //your logic
}

所有linq查询都已实现为扩展方法

答案 2 :(得分:0)

您需要实现如下的扩展方法:

public static bool isEmpty(this string value)
{
    return string.IsNullOrEmpty(value); 
}

答案 3 :(得分:0)

您可以使用扩展方法增强每种类型。但遗憾的是,您只能编写方法,属性无法添加到类型。因此,您的示例的if(mystring.isEmpty == false)仅使用此if(mystring.IsEmpty() == false)

之类的方法

答案 4 :(得分:0)

  1. 这不是一个功能,那是一个属性
  2. 您可以为字符串创建新的扩展方法,但在C#4
  3. 中没有扩展属性
  4. 字符串和字符串
  5. 之间没有区别
  6. 在.Net World中,isEmpty将以大写字母开头
  7. 您应该写if (someBool == false)
  8. 而不是撰写if (!someBool)
  9. 我非常怀疑你希望在这里看到的任何速度提升。 VS具有很好的智能感知功能,您应该学习和使用它们。