我試圖隱式轉換我的一種動態類型時遇到問題。有兩個組件具有類似於以下定義:隱式轉換不適用於動態類型
Configuration.dll:
public class ConfigurationValue : DynamicObject
{
public ConfigurationValue(string val)
{
//...
}
//...
public static implicit operator string(ConfigurationValue val)
{
return val.ToString();
}
}
有一個在此dll另一類稱爲Configuration
與稱爲Instance
成員變量(以使類單)。該變量將ConfigurationValue
實例保存在字典中,並且是動態類型的。這讓我這樣做如下:
Server.dll:
//...
if (Configuration.Instance.SecurityLevel != "Insecure")
{
//...
}
假設SECURITYLEVEL在字典中。 這個if語句在我的代碼逐字出現,總是失敗,出現以下錯誤:
{"Operator '!=' cannot be applied to operands of type 'System.Dynamic.DynamicObject' and 'string'"}
以前,當這兩個類在同一個組件,該代碼工作得很好。任何人都可以告訴我我在這裏做錯了什麼?
感謝,
最大
您應該將它標記爲偶數儘管你自己回答了。 – jbtule 2011-03-14 14:43:12
我打算這樣做,但這讓我們等了三天,我忘了。謝謝你提醒我! – 2011-05-24 16:13:33
Grml我碰到了一個非公開類和這個問題。很高興我發現了這個! – namezero 2013-03-21 14:59:41