我需要构建一个覆盖getter和属性setter的属性。更清楚的是,今天它是如何工作的以及如何使用属性(结果应该是相同的)。
旧版本:
public class A
{
private Handle _handle;
public String StringProp
{
get {
return _handle.GetProperty(PropId.StringProp);
}
set {
_handle.SetProperty(PropId.StringProp, value);
}
}
public int IntProp
{
get {
return _handle.GetProperty(PropId.IntProp);
}
set {
_handle.SetProperty(PropId.IntProp, value);
}
}
}
新版本:
public class A
{
private Handle _handle;
[HandleProperty(PropId.StringProp)]
public String StringProp { get; set; }
[HandleProperty(PropId.IntProp)]
public int IntProp { get; set; }
}
应知道属性HandleProperty
将getter和setter链接到_handle.GetProperty
和_handle.SetProperty
。
答案 0 :(得分:0)
我创建了两个枚举,一个枚举中的一些字段使用属性映射到另一个枚举字段。我想你可以做这样的事......
[AttributeUsage(AttributeTargets.Field)]
public sealed class MapsToAttribute : Attribute
{
private string Text;
public string MapsToText
{
get
{
return Text;
}
}
public MapsToAttribute(string mapsToText)
{
Text = mapsToText;
}
public override string ToString()
{
return Text;
}
}