簡體   English   中英

在單例 c# winforms 中按名稱操作實例

[英]manipulate instance by name in singleton c# winforms

字符串 Go_Page .... 字符串變量包含實例 userControl 的名稱。 我正在嘗試按名稱(字符串 Go_Page )操作實例 userControl 。 請幫助

            string Go_Page;


            if (!FrmMain.panelMain.Controls.Contains(Go_Page.Instance))
            {
                FrmMain.panelMain.Controls.Clear();
                FrmMain.panelMain.Controls.Add(Go_Page.Instance);
                Go_Page.Instance.Dock = DockStyle.Fill;
                Go_Page.Instance.BringToFront();
            }
            else
            { Go_Page.Instance.BringToFront(); }

我收到此錯誤:

錯誤 CS1061“字符串”不包含“實例”的定義

嘗試使用此方法將字符串轉換為類實例:

如果當前程序集中的用戶控件類,請使用:

Assembly assembly = Assembly.GetExecutingAssembly();

別的:

Assembly assembly = Assembly.LoadFile("AssemblyPath");

類實例:

object obj = assembly.CreateInstance("ClassFullName"); //contains namespace

或嘗試:

Type type = Type.GetType("ClassFullName"); //contains namespace
object obj = Activator.CreateInstance(type);
if (!panel.Controls.Contains(UCMangerReport.Instance))
            {
                panel.Controls.Add(UCMangerReport.Instance);
                UCMangerReport.Instance.Dock = DockStyle.Fill;
                UCMangerReport.Instance.BringToFront();
            }
            else
            {
                UCMangerReport.Instance.BringToFront();
            }

Error=>Error3'appReport.UCMangerReport' does not contain a definition for 'Instance'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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