泛型方法或泛型类中的方法是内部调用、PInvoke 或是在 COM 导入类中定义的。

时间:2023-03-09 04:44:42
泛型方法或泛型类中的方法是内部调用、PInvoke 或是在 COM 导入类中定义的。

泛型基类中引用Api函数定义时static extern,在子类中会提示:

未处理TypeLoadException

泛型方法或泛型类中的方法是内部调用、PInvoke 或是在 COM 导入类中定义的。

解决方法:将定义Api函数封装到独立的类中即可

public class GenericClass1<T> {

[System.Runtime.InteropServices.DllImport("user32.dll")]

public static extern short GetKeyState(int virtKey);

public bool IsCapsLock { get { return (KeyState.GetKeyState(0x14) & 1) != 0; } } }

}