4

サードパーティのクラスにアクセスする必要がありますが、利用できる場合と利用できない場合があります。このような状況にどのように対処できますか?

例えば:

クラスThirdPartyClassは、利用できる場合と利用できない場合があります。静的変数myIntが 1 つあります。

int someInt;
if(ThirdPartyClass is available) // pseudo-code
{
  someInt = ThirdPartyClass.myInt;
} else {
  someInt = 0;
}
4

1 に答える 1

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;
于 2012-09-09T18:30:48.657 に答える