簡體   English   中英

如何將ResourceDictionary字符串指定為switch case Constant Expression?

[英]How to assign the ResourceDictionary string as switch case Constant Expression?

switch ("Case2")
        {
            case (string)Application.Current.FindResource("Case1");
                //Do Some logic
                break;
            case (string)Application.Current.FindResource("Case2");
                //Do Some logic
                break;
            case (string)Application.Current.FindResource("Case3");
                //Do Some logic
                break;
            default:
                break;
        }

我做了這個代碼但它不起作用。 現在我想分配從資源字典到常量表達式的字符串值( (string)Application.Current.FindResource(“Case1”) )。怎么可能,否則有什么辦法嗎?

這不可能。 根據定義, 常量表達式編譯時常量。 資源字典查找必須在運行時進行。 通常的解決方案是使用一串if語句:

if ("Case2" == (string)Application.Current.FindResource("Case1"))
{
    //Do some logic
}
else if ("Case2" == (string)Application.Current.FindResource("Case2"))
{
    //Do some logic
}
else if ("Case2" == (string)Application.Current.FindResource("Case3"))
{
    //Do some logic
}

暫無
暫無

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

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