0
我想從ASP.NET模板(.aspx)代碼隱藏類中獲取名稱空間。代碼隱藏文件包含類似:使用反射從ASP.NET模板代碼隱藏類中獲取名稱空間?
namespace MyTopNamespace.SubNamespace
{
public partial class PageClass : System.Web.UI.Page
{
// ...
}
}
而且我通過這個PageClass
的一個實例,下面的方法。
private static string GetNamespace(Page page)
{
const string desiredPart = "MyTopNamespace";
if (page == null)
{
throw new ArgumentNullException("page");
}
string pageNamespace = page.GetType().FullName;
// For debugging
string pageAssembly = page.GetType().Assembly.FullName;
string pageAsmQualified = page.GetType().AssemblyQualifiedName;
if (!pageNamespace.Contains(desiredPart) &&
!pageAssembly.Contains(desiredPart) &&
!pageAsmQualified.Contains(desiredPart))
{
throw new ApplicationException(string.Format(
"Unexpected namespace or assembly: \n\n'{0}'\n'{1}'\n'{2}'",
pageNamespace, pageAssembly, pageAsmQualified));
}
// Remaining implementation ...
}
異常輸出:
意外命名空間或組件:
'ASP.pageclass_aspx'
「App_Web_pageclass.aspx.cdcab7d2.v4dudq3x,版本= 0.0.0.0 ,文化=中立,PublicKeyToken = null'
'ASP .pageclass_aspx,App_Web_pageclass.aspx.cdcab7d2.v4dudq3x, 版本= 0.0.0.0,文化=中立,公鑰=空」
發生了什麼事MyTopNamespace
,並且可以將其從使用反射型獲得的?