В .net (C#). Если у вас есть два типа, обнаруженных через отражение, можно ли определить, можно ли их перевести в другое? (неявный и/или явный).Определить, может ли отраженный тип быть преобразован в другой отраженный тип.
Что я пытаюсь сделать, это создать библиотеку, которая позволяет пользователям указывать, что свойство одного типа сопоставляется с свойством другого типа. Все хорошо, если два свойства имеют соответствующие типы, но я бы хотел, чтобы они могли отображать свойства, в которых доступен неявный/явный листинг. Так что, если у них есть
class from
{
public int IntProp{get;set;}
}
class to
{
public long LongProp{get;set;}
public DateTime DateTimeProp{get;set;}
}
они могли бы сказать, что from.IntProp будет назначен to.LongProp (как существует такое неявно литая). Но если бы они сказали, что он сопоставлен с DateTimeProp, я бы смог определить, что нет доступных бросков и выбрасывается исключение.
Согласно MSDN, IsAssignableFrom рассматривает только равенство, наследование, интерфейсы и дженерики, а не литые операторы. http://msdn.microsoft.com/en-us/library/system.type.isassignablefrom.aspx – 2010-07-01 19:27:09