[英]How do I create a dynamic class with variable name of type 'toString'?
感謝您閱讀我的文章。
我在公司網頁中使用asp.net的UserControl
。 UserControl
不能使用繼承類,因為該類已經繼承了System.Web.UI.UserControl
類。
所以我想用父頁面的名稱創建一個動態類。
下面是我的代碼。
string userNo = string.Empty;
string virtualPath = Page.AppRelativeVirtualPath.ToString();
virtualPath = virtualPath.Substring(virtualPath.LastIndexOf("/") + 1);
//I want to use the generated class by referring to the variable name of "virtualPath" in the "here" text below.
//userNo = Uact.Framework.Common.Decryptor.Decrypt((("here!")Context.Handler).UserNo);
switch (virtualPath.ToUpper().Trim()){
case "PROJECTSIGNWRITE.ASPX" :
userNo = Uact.Framework.Common.Decryptor.
Decrypt(((ProjectSignWrite)Context.Handler).UserNo);
break;
case "PROJECTREPORTVIEW.ASPX" :
userNo = Uact.Framework.Common.Decryptor.
Decrypt(((ProjectReportView)Context.Handler).UserNo);
break;
case "PROJECTCOMPLETE.ASPX" :
userNo = Uact.Framework.Common.Decryptor.
Decrypt(((ProjectComplete)Context.Handler).UserNo);
break;
}
不要使用繼承,而要使用接口。
聲明具有屬性UserNo的接口
public interface IHasUserNo
{
string UserNo {get; set;}
}
然后讓您的類(例如ProjectSignWrite
實現此接口。
public class ProjectSignWrite : UserControl, IHasUserNo
{
.....
}
然后,您可以簡單地編寫:
userNo = Uact.Framework.Common.Decryptor.Decrypt(((IHasUserNo)Context.Handler).UserNo);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.