为c#字符串类添加新属性
本文关键字:属性 新属性 添加 字符串 | 更新日期: 2023-09-27 18:03:09
我想知道是否有可能添加一个新的属性作为扩展属性到字符串类。我要找的是这样的东西
string.Empty
我想做一个扩展,例如:
string.DisplayNone;
我可以添加扩展属性到字符串c#类,我可以调用类似的方式,当我做string. empty ?
您只能为对象构建扩展…
像这样:
class Program
{
static void Main(string[] args)
{
string x = "Hello World";
x.DisplayNow();
}
}
public static class StringExtension
{
public static void DisplayNow(this string source)
{
Console.WriteLine(source);
}
}
但是我从来没有见过你如何扩展一个从未初始化的结构或类
是的,你可以这样做…但是,它将是一个扩展方法,而不是一个属性。
public static class Extensions
{
public static string DisplayNone(this string instance)
{
return "blah";
}
}
需要作为"".DisplayNone();
使用(无论多么简陋),因为它需要创建字符串的实例。
如果你想的话,另一个稍微不那么粗糙的方法是创建一个helper类。
public static StringHelper
{
public static string DisplayNone()
{
return "blah";
}
}
您可以创建自己的值类型。用"DisplayName"方法模拟String类型
然而,我不明白为什么你需要"DisplayName"的类型?它在sting实例上更有意义。即。"你好".DisplayName。