【发布时间】:2012-05-13 11:58:34
【问题描述】:
我阅读了以下很棒的问题:Attributes in C# 并学到了很多关于属性的知识。
我正在使用一个使用多个属性的库。示例:
[State]
public class USStates
{
[City]
public void isNewYork() { }
[Zip]
public ZipCode GetZipCode() { }
}
我想创建自己的属性并使用来自 3rd 方命名空间的现有属性(州、城市、邮编)对我的类执行额外的工作。例如,我正在努力实现这一目标:
using 3rdPartyNamespace;
using MyOwnSuperNamespace;
public class State : Attribute
{
// my own implementation/extension of State
}
// create City, Zip attributes respectively
[State]
public class USStates
{
[City]
public void isNewYork() { }
[Zip]
public ZipCode GetZipCode() { }
}
我尝试了上述方法,但在所有 3 个属性上都出现了不明确的属性错误。我可以告诉编译器直接调用这两个属性而不是使用其中一个吗?我想保留现有属性并执行额外的工作,而不必用我创建的其他属性标记我的类。
这可能吗?
【问题讨论】:
-
第 3 方属性类定义是否密封?
-
@32bitkid:不,它们没有被密封。 *编辑:阅读所有回复后,我的怀疑得到了证实。 :)
标签: c# attributes ambiguous