C# 如何强制ReflectionTypeLoadException?
我正在尝试测试一个程序集扩展方法,它基本上是C# 如何强制ReflectionTypeLoadException?,c#,reflection,C#,Reflection,我正在尝试测试一个程序集扩展方法,它基本上是assembly.GetTypes()的包装器,用于处理由于某种原因无法加载加载的程序集中的一个或多个类型而引发ReflectionTypeLoadException的情况 我已经尝试从静态和实例构造函数显式抛出TypeLoadExceptions,还尝试实例化这个伪类的实例,并在尝试加载类型之前调用DoStuff()方法来打破它,但是Assembly.GetTypes()总是返回类型,而不是抛出ReflectionTypeLoadException
assembly.GetTypes()
的包装器,用于处理由于某种原因无法加载加载的程序集中的一个或多个类型而引发ReflectionTypeLoadException
的情况
我已经尝试从静态和实例构造函数显式抛出TypeLoadExceptions
,还尝试实例化这个伪类的实例,并在尝试加载类型之前调用DoStuff()
方法来打破它,但是Assembly.GetTypes()
总是返回类型,而不是抛出ReflectionTypeLoadException
我怎样才能强迫这种行为
public class WillNotInitiliase
{
public WillNotInitiliase()
{
BreakType();
}
static WillNotInitiliase()
{
BreakType();
}
public static void DoStuff()
{
}
private static void BreakType() => throw new TypeLoadException( "I can never be loaded" );
}
如果存在类型,则可以获取类型并记住类型!=类型的实例在类型中声明一个
extern
方法,但不为其实现提供任何属性(DllImport
)。加载此类类型时,会触发TypeLoadException
。