本文整理汇总了C#中IPluginManager.Register方法的典型用法代码示例。如果您正苦于以下问题:C# IPluginManager.Register方法的具体用法?C# IPluginManager.Register怎么用?C# IPluginManager.Register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPluginManager
的用法示例。
在下文中一共展示了IPluginManager.Register方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddAllDevicePlugins
/// <summary>
/// Registers all device plugins in the plugin manager.
/// </summary>
private void AddAllDevicePlugins(IPluginManager pluginManager)
{
try
{
var pluginType = typeof(IDevicePlugin);
//Search all concrete plugin implementations
var plugins = AppDomain.CurrentDomain.GetAssemblies()
.AsParallel()
.SelectMany(assembly => assembly.GetTypes())
.Where(type => pluginType.IsAssignableFrom(type) && type.IsClass && !type.IsAbstract)
.ToList();
//Register the plugins
foreach (var plugin in plugins)
{
var devicePlugin = (IDevicePlugin)Activator.CreateInstance(plugin);
pluginManager.Register(devicePlugin);
}
}
catch (ReflectionTypeLoadException) { } //TODO: Log Warning
}