0

我正在使用 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);
  }

我得到了相同的结果。

4

1 回答 1

1

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

在您初始化属性之前,该值将是null默认值。如果您使用私有字段:

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

然后你应该得到 "" 作为默认值。

希望能帮助到你。

于 2012-03-04T20:46:57.097 回答