使用自定义属性更改自动属性行为

时间:2017-02-10 10:17:05

标签: c# properties custom-attributes automatic-properties

我有一个具有两个不同属性的类,它们映射到相同的值:

class MyClass {
    public int Number { get; set; }
    public string NumberString {
        get { return Number.ToString(); }
        set { Number = int.Parse( value ); }
    }
}

第二个属性(此处为NumberString)只是使用不同的类型获取或设置第一个属性(此处为Number)。 代码相当简单,但是当我拥有许多这些“伙伴”属性时会产生很多样板代码。

是否可以使用自定义属性进行转换? 我更愿意,如果我能写第二个属性:

[MapsTo(nameof(Number))]
public string NumberString { get; set; }

该属性应该能够为我做转换(可能基于我根据类型制定的一些规则)。

我的印象是,这可以通过PostSharp之类的东西完成,但是可以使用自定义属性吗?

0 个答案:

没有答案