无法计算表达式:Activator.CreateInstance<;T>;()
本文关键字:lt gt CreateInstance 计算 表达式 Activator | 更新日期: 2023-09-27 18:26:55
我正在使用Activator.CreateInstace()创建一个通用实例。但是当我用它来创建一个对象的实例时:
public class SelectStageSaveData
{
public string GlobalPartnershipPoints { get; set; }
}
当我调试代码并试图查看GlobalPartnershipPoints时,收到消息"无法计算表达式"。在这种情况下,我认为这个字符串的值是"空"的,但我无法获得任何值。有人知道发生了什么吗?提前谢谢。
更新:
我创建安装的代码:
if (!isolatedStorage.FileExists(file))
{
this.SaveData<T>((T)Activator.CreateInstance(typeof(T)), file);
}
或
if (!isolatedStorage.FileExists(file))
{
this.SaveData<T>(Activator.CreateInstance<T>(), file);
}
两者的结果都一样。
我认为这个字符串的值在这种情况下是"空的"
在初始化该属性之前,默认情况下该值将为null
。如果您使用私人字段:
public class SelectStageSaveData
{
private string _GlobalPartnershipPoints = "";
public string GlobalPartnershipPoints
{
get { return _GlobalPartnershipPoints;}
set { _GlobalPartnershipPoints = value; }
}
}
然后您应该将"作为默认值。
希望能有所帮助。