Я пытаюсь создать пользовательский атрибут для типа, который ожидает, что некоторые свойства внутри этого типа будут помечены другим атрибутом, аналогично тому, как это делается с ServiceContract
в WCF :
[ServiceContract]
public interface ITestServiceContract
{
[OperationContract]
void SomeOperation();
}
Если ни один метод в ServiceContract
не помечен атрибутом OperationContract
, отображается следующее предупреждение:
Интерфейс 'ITestServiceContract' помечен как ServiceContract, но не ' не содержит никаких контрактов на операции
При рассмотрении реализации из ServiceContract
я не вижу, где это будет определено:
[AttributeUsage(ServiceModelAttributeTargets.ServiceContract, Inherited = false, AllowMultiple = false)]
public sealed class ServiceContractAttribute : Attribute
{
...
}
ServiceModelAttributeTargets.ServiceContract
определяется внешне:
public const AttributeTargets ServiceContract = AttributeTargets.Interface | AttributeTargets.Class;
Можно ли как-нибудь определить такой атрибут?