Как я могу дать метод в качестве аргумента атрибута? - PullRequest
6 голосов
/ 24 октября 2009

Я хочу применить атрибут, который принимает делегата в качестве аргумента, но я не могу найти синтаксис для этого.

Например, чтобы передать класс, вы должны использовать typeof:

    [SomeAttribute(typeof(SomeClass))]

Каков синтаксис для делегата (я пытаюсь передать статический метод)?

    [SomeAttribute(??? SomeStaticMethod ???]

1 Ответ

8 голосов
/ 24 октября 2009

Это превышает возможности метаданных.

Вы можете передать метод в виде строки, а также указать класс, если вы просто хотите вызвать статический метод ..

[SomeAttribute(typeof(SomeClass), @"SomeStaticMethod")]

Естественно, вам придется вызывать его через рефлексию, но поскольку вы в любом случае просматриваете пользовательские атрибуты, это, вероятно, не является большим отклонением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...