我有下面的代碼獲取自定義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