簡體   English   中英

如何創建變量名稱為'toString'類型的動態類?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM