我阅读了以下很好的问题: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 个属性上都出现了不明确的属性错误。我可以告诉编译器直接调用这两个属性而不是使用其中一个吗?我想保留现有属性并执行额外的工作,而不必用我创建的其他属性标记我的类。
这可能吗?