0

所以我有两个具有两种不同类型的对象。第一个是被ItemTypes调用的类型Type,第二个只是一个Type被调用的泛型SubType

我想要完成的是当我更改我的 ItemType 属性时,我需要我的SubType属性更改为我拥有的许多不同类型之一(ConsumableSubType,ContainerSubType等..)

这是我的两个属性的代码,其中包含一些属性网格的注释。

    [RefreshProperties(System.ComponentModel.RefreshProperties.All)]
    [TypeConverter(typeof(EnumConverter))]
    [DisplayName("Type")]
    [XmlIgnore]
    public ItemTypes _Type
    {
        get { return Type; }
        set
        {
            Type = value;
            //Do some logic in here to set _SubType to a different type
        }
    }
    [TypeConverter(typeof(EnumConverter))]
    [DisplayName("Sub Type")]
    [XmlIgnore]
    public Type _SubType { get; set; }
4

1 回答 1

0

您不能在运行时更改属性的类型。但是,您可以object将其设为 ,然后将您喜欢的任何内容分配给它。

于 2013-01-07T19:06:41.113 回答