2012-03-04 2 views
1

저는 Activator.CreateInstace()를 사용하여 일반 인스턴스를 만듭니다. 나는 개체의 인스턴스를 만들려면이를 사용하지만 :표현식을 평가하지 못했습니다 : Activator.CreateInstance ()

public class SelectStageSaveData 
{ 
    public string GlobalPartnershipPoints { get; set; } 
} 

내가 메시지를 받게을 내가 코드를 디버깅 및 GlobalPartnershipPoints을 볼려고 할 때 "식을 계산할 수 없습니다." 이 문자열의 값은이 경우 "비어 있음"으로 생각했지만 값을 얻을 수는 없습니다. 아무도 무슨 일이 일어나고 있는지 알고 있습니까? 미리 감사드립니다.

업데이트 : 나는 instace을 만들

코드 :

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

CreateInstance()를 호출 한 코드를 볼 수 있습니까? –

+0

인스턴스 코드를 표시 할 수 있습니까? –

+0

어떻게 보 시려고하십니까? SaveData를 실행하고 QuickWatch 또는 마우스 오버를 사용 하시겠습니까? –

답변

1

난 당신이 속성을 초기화 할 때까지, 값이 기본적으로 null 것이 문자열의 값이이 경우

에서 "빈"라고 생각했습니다. 비공개 필드를 사용하는 경우 :

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

그러면 기본적으로 ""가 표시됩니다.

희망이 있습니다.

+0

예, 실수했습니다. 예상 값은 null입니다.하지만 이해할 수없는 것은 null 값이 아닌 "could not evaluate"메시지를받는 이유입니다. – Leila

+0

이 기본값을 설정하는 또 다른 방법은 위의 방법보다 바람직 할 수도 있고 그렇지 않을 수도 있습니다. 기본 'SelectStageSaveData' 생성자를 정의하여 속성을'' "'으로 설정하는 것입니다. –

+0

어쨌든 고마워요 !! – Leila

관련 문제