簡體   English   中英

使用多態訪問自定義工具屬性

[英]Accessing Custom Tool properties with polymorphism

C#的新功能。 我將盡力解釋我的問題。

我很難使用自定義工具制作的屬性。 我的GUI上有許多這樣的工具,因此它不只是簡單地使用屬性顯式地輸入。 這些控件包含在一個List中,我希望能夠輕松訪問它們的屬性(這是它們隔離的解決方案項目的一部分)。 這是我到目前為止的例子:

List<Control> controlList = new List<Control>();
private void btnStart_Click(object sender, EventArgs e)
{        
    foreach (var item in controlList)
    {
       if (item.Enabled)
       {
           custom_control1.Code = "8917237";
           custom_control1.MacAddress = "000000000001";
       }
    }

 // do other stuff based on the above credentials

 }

我希望能夠在if語句中執行以下操作:

   item.Code = .... // calculation
   item.MacAddress = .... // this will increment in hex depending on how many controls I have Enabled

這樣,“ item”的每個實例都具有可以通過for循環或類似方式更改的自定義控件屬性。 注意:根據計算,每個控制工具項將具有不同的MAC和代碼。

我不確定如何實現這一點。 我想我的主要問題是我能夠看到默認屬性列表(例如Visible,Enable等),但看不到我的Custom屬性。 由於類似的問題,這樣做: controlList[0].Code也無濟於事。 我顯然誤會了這里的東西。

在此先感謝您的幫助。

若要直接在列表對象中訪問自定義屬性,該列表必須是自定義類的列表,而不是Control 所以,代替

List<Control> controlList = new List<Control>();

采用

List<MyCustomClass> controlList = new List<MyCustomClass>();

暫無
暫無

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

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