2015-08-14 47 views
-1

我有兩個基類。如何使用setter來設置複雜屬性的值

public class IValue 
{ 
    public dynamic Value { get; set; } 

    public dynamic Type { get; set; } 
} 

public class IParameter 
{ 
    public string Name { get; set; } 

    public bool Required { get; set; } 

    public IValue ValueObject 
    { 
     get { return _value.Value; } 
     set { _value.Value = value; } 
    } 

    private IValue _value { get; set; } 
} 

public class MyParm : IParameter 
{ 

} 

現在爲了設置MyParam類的ValuesObject,我應該可以使用這一行。

MyParam.ValueObject = ""; 

,而是我必須使用此行

MyParam.ValueObject.Value = ""; 

沒有人需要得到的類型,價值纔是最重要的,類型是有系統的。有沒有一種方法來完成設置ValueObject.Value並獲取它,而不明確說.Value?

+2

你的'公共IValue ValueObject'應該是'public dynamic ValueObject'。 –

回答

3

試試這個

public class IParameter 
    { 
     public IParameter() 
     { 
      _value = new IValue(); 
     } 
     public string Name { get; set; } 

     public bool Required { get; set; } 

     public dynamic Value 
     { 
      get { return _value.Value; } 
      set 
      { 
       _value.Value = value; 
      } 
     } 

     private IValue _value { get; set; } 
    } 

現在,爲了設置MyParam類的價值觀,你就可以使用這條線。

MyParam.Value = ""; 
相關問題