Add new property to string class C#
本问题已经有最佳答案,请猛点这里访问。
我想知道是否可以将新属性作为扩展属性添加到String类中。我要找的是这样的东西
1 | string.Empty |
我想延期,例如:
1 | string.DisplayNone; |
我可以向string c类添加扩展属性吗?我可以像执行string.empty一样调用它。
只能为对象生成扩展…
像这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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); } } |
但我从未见过如何扩展一个结构或一个从未初始化的类。
是的,你能做到……但是,它将是扩展方法,而不是属性。
1 2 3 4 5 6 7 | public static class Extensions { public static string DisplayNone(this string instance) { return"blah"; } } |
因为它需要创建一个字符串的实例,所以需要将其作为
如果你想,另一个稍微不那么简单的方法是创建一个助手类。
1 2 3 4 5 6 7 | public static StringHelper { public static string DisplayNone() { return"blah"; } } |
您可能能够创建自己的值类型。它使用"displayname"方法模拟类型字符串。
但是,我不明白为什么您需要在类型上使用"displayname"?在刺伤的情况下,这更有意义。即"你好"。显示名称。见Smokefoot对这个问题的回答。