【发布时间】:2017-01-17 01:18:42
【问题描述】:
假设我有以下课程:
public class ClassA
{
public string ElementA { get; }
public string ElementB { get; }
}
public class ClassB
{
public ClassA ElementC = new ClassA()
{
ElementA = "Sample Value A",
ElementB = "Sample Value B"
};
public ClassB ElementD = new ClassA()
{
ElementA = "Sample Value C",
ElementB = "Sample Value D"
};
}
我怎样才能将 ClassA 嵌套在 ClassB 内部并作为 ClassB 的一个元素,只有一个 { get; } 属性。我正在尝试实例化一个只能通过{ get; } 评估器访问的类,因为我希望它表现为固定变量/值。每当我尝试这种方法时,IDE(Visual Studio)都会向我抛出一个错误:
无法将属性或索引器“ClassA.ElementA”分配给 - 它是 只读
将 ClassA 写为:
public class ClassA
{
public string ElementA { get; set; }
public string ElementB { get; set; }
}
使 ClassB 的 ClassA 元素可编辑,但不会在 IDE (Visual Studio) 中引发错误。
如何或有可能实现我的想法?谢谢。
【问题讨论】:
-
试试构造函数?
标签: c# class inner-classes