我有一个私有类,用于实现某些属性。因此,我没有能力修改实际的私有类,并且不想使用继承来创建我自己的类来代替它。有没有办法向该私有类添加属性?
Thanks!
如果您可以访问所需类中的数据,并且可以使用方法而不是属性,请查看扩展方法,在 C# 3.0 中引入。从那篇文章中,这里有一个添加到(密封的、不可修改的)String 类的扩展方法:
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
From 马的嘴, 扩大特性C# 的未来版本中可能会出现这种情况。
如果您需要访问私有字段或方法,这对您没有帮助。在这种情况下,您可能会考虑反思,但我建议远离这种情况,除非确实有必要——有时会变得混乱。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)