我知道它有點含義,可能不完全可以理解。所以這裏是我想要做的一個例子。將對象變量中保存的字符串賦給動態字符串屬性(C#)
public class TypeWithString
{
public string MyString { get; set; }
}
string s = "We Want Moshiach Now";
TypeWithString tws = new TypeWithString();
object o = s;
dynamic d = tws;
d.MyString = o;
此代碼令人驚訝地產生錯誤RuntimeBinderException: Cannot implicitly convert type 'object' to 'string'
。 儘管MyString
是string
類型,並且o
中保存的是string
。
這是DLR中的缺陷還是缺點?
有沒有辦法避開它?
如果我不知道類型提前。但我知道它符合鴨子打字。即我知道它實現了一個不成文的界面。無論如何,當他們真的是正確的類型時,我可以將一個變量分配給另一個變量嗎?
非常感謝你
B「H 我不知道它將會發生什麼,否則我會將它存儲在正確的變量中。 – Rabbi 2010-07-04 02:04:13