无法计算表达式: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);
  }

两者的结果都一样。

无法计算表达式:Activator.CreateInstance<;T>;()

我认为这个字符串的值在这种情况下是"空的"

在初始化该属性之前,默认情况下该值将为null。如果您使用私人字段:

public class SelectStageSaveData
{
    private string _GlobalPartnershipPoints = "";
    public string GlobalPartnershipPoints 
    { 
      get { return _GlobalPartnershipPoints;} 
      set { _GlobalPartnershipPoints = value; }
     }
}

然后您应该将"作为默认值。

希望能有所帮助。