は、プロジェクトにこのコードを考えてみましょう:この動的パラメータが機能しない理由を教えてください。
static void Main(string[] args)
{
DoSomething(new { Name = "Saeed" });
}
public static void DoSomething(dynamic parameters)
{
Console.WriteLine(parameters.Name);
}
これは魔法のように動作します。しかし、できるだけ早くあなたがこれらの二つの機能を分離ように2つの異なるプロジェクト、コードブレークへ:
// 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);
}
}
私は後者の場合には取得するエラーは、次のとおりです。
オブジェクトは」の定義が含まれていません'名前'(RuntimeBinderException)
なぜこのエラーが発生しますか?代わりの方法は何ですか?別のライブラリのメソッドに動的パラメータを渡すにはどうしたらいいですか?
注:私はExpandoObject
に精通しており、使用したくありません。
上記のリンクを検索すると、10秒のグーグルが発生しました。それについて考えてみましょう:-) – zerkms
@zerkms、ありがとう、私はC#のキーワードでうまくいかなかったのですか? –
おそらく:-)私の検索リクエストは「C#dynamic different project」でした。PS:最近はCで開発されておらず、「動的」は使われていません – zerkms