請教一下下面的瀏覽器型別引數:BrowserRunType里是對當前瀏覽器進行了一個判斷,用的是二元運算式,現在要再加一個瀏覽器型別判斷,在里面用if報錯,如何解決這個問題呢?
public override ApplicationMetaDataType ToAppMetaData(IUiObject control, RecordEventInfo recordInfo)
{
ApplicationMetaDataType appMd = new ApplicationMetaDataType()
{
ProcessName = control.CurrentProcess?.ProcessName,
BrowserRunType = this.currentBrowserType == BrowserType.Web360 ? AutomationImplData.WEB360 : AutomationImplData.WEBFireFox
};
}
public class ApplicationMetaDataType
{
public ApplicationMetaDataType();
public AutomationImplData BrowserRunType { get; set; }
public string ProcessName { get; set; }
}
uj5u.com熱心網友回復:
看不懂你要描述的問題,用了if然后就報錯了?你這代碼里面也沒體現出來啊uj5u.com熱心網友回復:
不好意思,新手沒有表述清,就是想問
BrowserRunType = this.currentBrowserType == BrowserType.Web360 ? AutomationImplData.WEB360 : AutomationImplData.WEBFireFox
這一行是用二元判斷,當前瀏覽器是否是360,不是就選Firefox。現在我比如再加個Chrome,三種可能就要分情況判斷了,在這里我不清楚要用什么方法來寫。用 if的話,BrowserRunType顯示不能放在區域中
uj5u.com熱心網友回復:
那你可不可以單獨寫個方法來判斷public static BrowserRunType GetType(){
var type= this.currentBrowserType;
if(){
}else if(){
}
}
uj5u.com熱心網友回復:
可以在后面加一截上去的嘛BrowserRunType = this.currentBrowserType == BrowserType.Web360 ? AutomationImplData.WEB360 :
this.currentBrowserType == BrowserType.WEBFireFox? AutomationImplData.WEBFireFox: AutomationImplData.Chrome
uj5u.com熱心網友回復:
原來有這種寫法的啊,邏輯上確實沒問題,貌似新版的framework支持用switch來判斷了,那樣可能更直觀一點
uj5u.com熱心網友回復:
能一句解決的就別用什么分支了,真要想擴展那還不如用策略模式
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/62039.html
標籤:C#
上一篇:本來不是學c語言的
下一篇:請教演算法問題
