Не удалось оценить выражение: Activator.CreateInstance <T>() - PullRequest
0 голосов
/ 05 марта 2012

Я использую 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);
  }

Я получаю тот же результат скак.

1 Ответ

1 голос
/ 05 марта 2012

Я думал, что значение для этой строки было "пустым" в этом случае

Пока вы не инициализируете свойство, значение будет null по умолчанию. Если вы используете личное поле:

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

Тогда вы должны получить "" по умолчанию.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...