在 .net (C#) 中,如果您通过反射发现了两种类型,是否可以确定一种是否可以转换为另一种?(隐式和/或显式)。
我想要做的是创建一个库,允许用户指定将一种类型的属性映射到另一种类型的属性。如果这两个属性具有匹配的类型,一切都很好,但我希望能够允许它们映射可以使用隐式/显式转换的属性。所以如果他们有
class from
{
public int IntProp{get;set;}
}
class to
{
public long LongProp{get;set;}
public DateTime DateTimeProp{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
他们可以说 from.IntProp 将被分配给 to.LongProp (因为存在隐式转换)。但是,如果他们说它映射到 DateTimeProp,我将能够确定没有可用的强制转换并抛出异常。