アプリケーションで読み込まれたモジュールのリストを取得した後、それらすべてを反復処理して、それらのモジュールのいずれかが特定の関数をエクスポートしているかどうかを確認します。
モジュールが関数をエクスポートしているかどうかを確認するにはどうすればよいですか?
アプリケーションで読み込まれたモジュールのリストを取得した後、それらすべてを反復処理して、それらのモジュールのいずれかが特定の関数をエクスポートしているかどうかを確認します。
モジュールが関数をエクスポートしているかどうかを確認するにはどうすればよいですか?
いくつかの方法があります:
Type IType = Type.Assembly.Load("YourProjectName").GetType("FunctionName");
if (IType == null)
{
Text = "Function Not Exist";
}
else
{
Text = "Function Exist";
}
または、Linqを使用して:
var isImplemented = Assembly.GetExecutingAssembly().
GetTypes().
Any(t => t.IsAssignableFrom(typeof (FunctionName)));
または:
var isImplemented = false;
foreach (var t in Assembly.GetExecutingAssembly().GetTypes())
{
if (!t.IsAssignableFrom(typeof (FunctionName))) continue;
isImplemented = true;
break;
}