/// <summary> /// Find a plugin descriptor by some type which is located into the same assembly as plugin /// </summary> /// <param name="typeInAssembly">Type</param> /// <returns>Plugin descriptor if exists; otherwise null</returns> public static PluginDescriptor FindPlugin(Type typeInAssembly) { if (typeInAssembly == null) { throw new ArgumentNullException(nameof(typeInAssembly)); } return(ReferencedPlugins?.FirstOrDefault(plugin => plugin.ReferencedAssembly != null && plugin.ReferencedAssembly.FullName.Equals(typeInAssembly.Assembly.FullName, StringComparison.InvariantCultureIgnoreCase))); }
/// <summary> /// 查找某一类型对应的插件描述信息 /// </summary> /// <param name="typeInAssembly"></param> /// <returns></returns> public static PluginDescriptor FindPlugin(Type typeInAssembly) { Check.NotNull(typeInAssembly, nameof(typeInAssembly)); if (ReferencedPlugins == null) { return(null); } return(ReferencedPlugins.FirstOrDefault(plugin => plugin.ReferencedAssembly != null && plugin.ReferencedAssembly.FullName.Equals(typeInAssembly.Assembly.FullName, StringComparison.InvariantCultureIgnoreCase))); }
/// <summary> /// Find a plugin descriptor by some type which is located into the same assembly as plugin /// </summary> /// <param name="typeInAssembly">Type</param> /// <returns>Plugin descriptor if exists; otherwise null</returns> public static PluginDescriptor FindPlugin(Type typeInAssembly) { if (typeInAssembly == null) { throw new ArgumentNullException("typeInAssembly"); } if (ReferencedPlugins == null) { return(null); } return(ReferencedPlugins.FirstOrDefault(plugin => plugin.ReferencedAssembly != null && plugin.ReferencedAssembly.FullName.Equals(typeInAssembly.GetTypeInfo().Assembly.FullName, StringComparison.OrdinalIgnoreCase))); }