我正在编写一个实用程序方法来干净地释放对COM对象的引用。
The folder named "customMaps" does not countain a modinfo.json file.
Exception in thread "main"
The folder named "launcher" does not countain a modinfo.json file.
The folder named "modtest" does not countain a modinfo.json file.
java.lang.NullPointerException at com.azias.awbe.tests.ModLoadingTest.main(ModLoadingTest.java:26)
我想这样称呼这个方法:
public class ComUtils {
public static void ReleaseObj(ref object comObj)
{
if (comObj != null)
{
Marshal.FinalReleaseComObject(comObj);
comObj = null;
}
}
}
我收到一个说
的编译器错误无法从ref CommandData转换为ref对象
将CommandData强制转换为对象将失去泛型方法的目的,该方法必须在释放后将引用变量设置为null。
有解决方案吗? 我正在使用VS 2005,.NET 2.0
感谢。
答案 0 :(得分:0)
您正在寻找泛型:
public static void ReleaseObj<T>(ref T comObj) where T : class
{
if (comObj != null)
{
Marshal.FinalReleaseComObject(comObj);
comObj = null;
}
}
答案 1 :(得分:0)
您的问题明确询问“通用方法以获取对象参数[...]。”强调我的。
您没有通用方法。你有一个非通用的方法。如果要接受参数,其中该参数是的任何类型,则通过通用方法来接受对象 。如果你将方法设为通用的,它就可以工作。