public static OpenIdNotify CreateInstance(string name, NameValueCollection parameters) { if (string.IsNullOrEmpty(name)) { return(null); } object[] args = new object[1] { parameters }; OpenIdPlugins openIdPlugins = OpenIdPlugins.Instance(); Type plugin = openIdPlugins.GetPlugin("OpenIdService", name); if (plugin == null) { return(null); } Type pluginWithNamespace = openIdPlugins.GetPluginWithNamespace("OpenIdNotify", plugin.Namespace); if (pluginWithNamespace == null) { return(null); } return(Activator.CreateInstance(pluginWithNamespace, args) as OpenIdNotify); }