我有下面的代码获取自定义Webconfig科如何创建通用获取自定义WebConfig段扩建方法
Configuration config = WebConfigurationManager.OpenWebConfiguration
(System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath + "/ExternalConfig");
Sample1Section myHandler =
(Sample1Section)config.GetSection("settings");
我想将其转换成通用的扩展方法,所以我不会重复相同的代码为每个自定义我创建的部分。
更新1:我得到的编译错误 “静态类不能有非静态方法”
public static class MyExtensions
{
public T GetSection<T>(this string sectionName) where T : class
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(HostingEnvironment.ApplicationVirtualPath + "/ExternalConfig");
return config.GetSection(sectionName) as T;
}
}
更新2:固定感谢BrandonZeider :)
public static class MyExtensions
{
public static T GetSection<T>(this string sectionName) where T : class
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(HostingEnvironment.ApplicationVirtualPath + "/ExternalConfig");
return config.GetSection(sectionName) as T;
}
}
感谢在高级。
如果我正确理解你的问题,它不会给你带来太多:你仍然必须在每次调用中明确指定泛型类型参数,因为该方法不会有任何方式从它的参数中推断出它。 – 2011-04-27 19:21:42
感谢的人,是的,我知道,我会,我只需要帮手接受任何自定义设置类型,然后我施放结果,就像BrandonZeider在他的代码 – DevMania 2011-04-27 19:52:35