我创建了两个名称相同但数据类型不同的属性。 我收到此错误:
The type 'Fields' already contains a definition for 'Subject'
是否有可能克服这个问题?
public String Subject
{
get { return this.subject; }
set { this.subject = value; }
}
public AppSettings Subject
{
get {
return this.subjectObj; }
set {
this.subjectObj = value; }
}
最佳答案
不,这不可能。使用它们时,您将无法区分这些属性。在这种情况下,您如何知道设置了哪个属性?
someInstance.Subject = null;
class members 的官方文档指出:
The name of a constant, field, property, event, or type must differ from the names of all other members declared in the same class.
可能的解决方案:
您的命名表明您可能想要创建另一个类 Subject
至少有两个属性。 (没有更多上下文,我不能说这是否合适。)
public class Subject
{
public string Name { get; set; }
public AppSettings Settings { get; set; }
}
这个新类可以在原来的类中使用:
public OriginalClass
{
public Subject subject { get; set; }
}
关于c# - 无法在 C# 中创建两个具有相同名称的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33082520/