У меня есть набор классов, которые реализуют общий интерфейс и аннотируются атрибутом бизнес-домена. По замыслу, каждый класс имеет аннотацию с различной параметризациейПолучить объект по значению атрибута
[Foo(Bar=1)]
public class EntityA : ICustomInterface
[Foo(Bar=2)]
public class EntityB : ICustomInterface
[Foo(Bar=3)]
public class EntityC : ICustomInterface
Либо С весной IApplicationContext
или используя обычное старое отражение, как мне найти класс, который реализует ICustomInterface
и помечается [Foo(Bar=Y)]
?
Что-то вроде Spring для Java getBeansWithAnnotation
. Я не требую Spring.net, потому что эти объекты являются прототипами. Для того, чтобы быть ясно: если моя задача не требует использования Spring вообще я доволен, что
Что относительно [этого] (http://stackoverflow.com/questions/26733/getting-all-types-that-implement-an-interface) и [this] (http://stackoverflow.com/questions/ 607178/как-Перечислите-все-классы-с-настраиваемого-класса-атрибута). Эти вопросы неоднократно задавались. –
Не могли бы вы использовать [is] (https://msdn.microsoft.com/en-us/library/scekt9xw.aspx) для этого? – DGibbs
@DGibbs спасибо, но оператор 'is' не применяется. У меня нет экземпляров классов в моем методе, я создам правильный класс на основе значения атрибута. –