我使用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);
}
我得到了相同的结果。
答案 0 :(得分:1)
我认为此字符串的值在这种情况下为“空”
在初始化属性之前,默认情况下该值为null
。如果您使用私人字段:
public class SelectStageSaveData
{
private string _GlobalPartnershipPoints = "";
public string GlobalPartnershipPoints
{
get { return _GlobalPartnershipPoints;}
set { _GlobalPartnershipPoints = value; }
}
}
然后你应该默认为“”。
希望它有所帮助。