亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的代碼會引發錯誤消息?

為什么我的代碼會引發錯誤消息?

C#
LEATH 2022-08-20 15:26:27
我正在用 C# 創建一個用于更改控件可見性的方法,但是當我使用 switch 語句知道需要哪個控件時,我收到一個錯誤,指出需要一個常量值。這是我的代碼:public void _Visible(Control sf, bool visible){     switch (sf)     {         case panel1:             break;     }}'''我希望它能讓我以這種方式使用它_Visible(RichTextBox, true);
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

什么?據推測,它是類中的一個屬性,表示窗體上的 。錯誤告訴你它不是一個編譯時常量,這確實是屬性/變量/等的情況。panel1Control


如果它的值可以變化,則編譯器無法保證該結構有效。它需要能夠保證才能生成可執行代碼。switch


您要么需要使用常量值,要么將結構替換為結構。例如:switchif/else if


public void _Visible(Control sf,bool visible)

{

    if (sf == panel1) // or ReferenceEquals() ?

    {

        // do something

    }

    else if (sf == panel2)

    {

        // do something else

    }

    // etc.

}

switch并不總是直接替代結構。文檔中有相當多的信息,包括“類型模式”和“when 子句”以及 .if/else ifswitch


查看完整回答
反對 回復 2022-08-20
  • 1 回答
  • 0 關注
  • 95 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號