如果它的名称与方法相同,除了重命名字段以为其赋值之外还有什么办法吗?
在写这篇文章时,我只是在想也许可以使用反射。
反射有效,但是有更好/不同的方法吗?
FieldInfo fi = typeof(TheClass).GetField("TheClash"); fi.SetValue(TheClassObj, TheFieldValue);
最佳答案
怎么会重名呢?那不应该(AFAIK)通常是可能的。如果问题出在基类上,也许:
base.fieldName = value;
如果您指的是方法与变量,那么:
this.MethodName();
除此之外,我看到问题的唯一方式是你有“foo”和“Foo”,并且正在从不区分大小写的语言(如 VB)调用。
关于c# - 方法/字段之间的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4026000/