我需要访问可能可用或不可用的第三方类。我们怎样处理这样的情况?
例如:
Class ThirdPartyClass 可能有效,也可能无效。它有一个静态变量 myInt 。
int someInt;
if(ThirdPartyClass is available) // pseudo-code
{
someInt = ThirdPartyClass.myInt;
} else {
someInt = 0;
}
答案 0 :(得分:6)
你基本上是在谈论反思。我假设我们不需要尝试自动发现程序集。
您可以按照以下方式执行此操作:
Type t = Type.GetType("<fullyqualifiedname>.ThirdPartyClass", false)
if (t != null)
{
FieldInfo fi = t.GetField("myInt", BindingFlags.Public | BindingFlags.Static);
someInt = (int)fi.GetValue(null);
}
else
someInt = 0;