在一個項目中考慮以下代碼:爲什麼這個動態參數不起作用?
static void Main(string[] args)
{
DoSomething(new { Name = "Saeed" });
}
public static void DoSomething(dynamic parameters)
{
Console.WriteLine(parameters.Name);
}
這就像一個魅力。但是,只要你這兩個功能分開成兩個不同的項目,該代碼就會中斷:
// This code is in a Console Application
static void Main(string[] args)
{
ExternalClass.DoSomething(new { Name = "Saeed" });
}
// However, this code is in a Class Library; Another project
public class ExternalClass
{
public static void DoSomething(dynamic parameters)
{
Console.WriteLine(parameters.Name);
}
}
我在第二種情況下得到的錯誤是:
對象」不包含一個定義'Name'(RuntimeBinderException)
爲什麼我得到這個錯誤?什麼是替代方法?如何將一個動態參數傳遞給另一個庫中的方法,並以簡單的方式在那裏使用它?
注:我熟悉ExpandoObject
,我不希望使用。
上面的鏈接的搜索谷歌上搜索了10秒,想想吧:-) – zerkms
@zerkms,謝謝你,怎麼樣我不擅長C#的關鍵字;)到google一下。 –
也許:-)我的搜索請求是:「C#動態不同的項目」 PS:我沒有在C#這幾天制定並沒有使用'dynamic'要麼 – zerkms