如何使用 setter 设置复数 属性 的值

How to use a setter to set a value of complex property

我有两个基地类。

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 Class,我应该可以使用这一行。

MyParam.ValueObject = "";

但我必须使用这一行

MyParam.ValueObject.Value = "";

没有人需要获取类型,值才是最重要的,类型是为系统准备的。有没有办法在不明确说明 .Value 的情况下完成 ValueObject.Value 的设置和获取?

试试这个

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 的值 Class,您将能够使用这一行。

MyParam.Value = "";