App*_*Fzx 3 .net c# const class member
我有一个类,我想在System.Drawing中包含一个类似于Point.Empty的"Empty"常量成员.那可能吗?
这是给出错误的简化版本:
public class TrivialClass
{
    public const TrivialClass Empty = new TrivialClass(0);
    public int MyValue;
    public TrivialClass(int InitialValue)
    {
        MyValue = InitialValue;
    }
}
给出的错误是:TrivialClass.Empty属于TrivialClass类型.除string之外的引用类型的const字段只能用null初始化.
如果重要,我想像这样使用它:
void SomeFunction()
{
    TrivialClass myTrivial = TrivialClass.Empty;
    // Do stuff ...
}
Pau*_*ing 11
您可以使用static readonly这些类型.常量只能用文字值(例如数字,字符串)初始化.
public class TrivialClass
{
    public static readonly TrivialClass Empty = new TrivialClass(0);
    public int MyValue;
    public TrivialClass(int InitialValue)
    {
        MyValue = InitialValue;
    }
}
查找定义后.Point.Empty也是static readonly.参考这里.
| 归档时间: | 
 | 
| 查看次数: | 161 次 | 
| 最近记录: |