Добрый день,
У меня есть класс, который представляет коллекцию.Коллекция имеет свойство типа Type
, которое позволяет вам указать тип данных объекта метаданных каждого элемента.Каждый раз, когда элемент добавляется в коллекцию, новый экземпляр назначенного объекта метаданных создается с Activator.CreateInstance(Type type)
из класса коллекции.
Мне нужно ограничить тип объекта метаданных типом.который реализует конкретный интерфейс.Пример:
publlic class Collection
{
public Type MetaDataType;
// other code
}
public class CollectionImplementation
{
// some properties
public CollectionImplementation()
{
Collection c = new Collection();
// valid assignment
c.MetaDataType = typeof(ValidMetaClass);
// invalid assignement
c.MetaDataType = typeof(InvalidMetaClass);
}
// some functions
}
public class ValidMetaClass : IMetaInterface
{
// valid meta class code
}
public class InvalidMetaClass
{
// invalid meta class code
}
public interface IMetaInterface
{
// interface code
}
Возможно ли что-то подобное?
Заранее благодарим всех и всех участников;Я ценю любой вклад.
С уважением, я