diesen Code in einem Projekt vor:Warum funktioniert dieser dynamische Parameter nicht?
static void Main(string[] args)
{
DoSomething(new { Name = "Saeed" });
}
public static void DoSomething(dynamic parameters)
{
Console.WriteLine(parameters.Name);
}
Dies funktioniert wie ein Charme. Aber sobald Sie diese beiden Funktionen in zwei verschiedenen Projekten zu trennen, wird der Code bricht:
// 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);
}
}
Der Fehler, den ich im zweiten Fall erhalten ist:
Objekt‘enthält keine Definition für 'Name' (RuntimeBinderException)
Warum bekomme ich diesen Fehler? Was ist die alternative Methode? Wie kann ich einen dynamischen Parameter an eine Methode in einer anderen Bibliothek übergeben und dort auf einfache Weise verwenden?
Hinweis: Ich bin vertraut mit ExpandoObject
und ich möchte das nicht verwenden.
Die Suche nach dem obigen Link dauerte 10 Sekunden googeln, darüber nachdenken :-) – zerkms
@zerkms, danke, wie wäre es, ich war nicht gut bei C# keywords;) googeln. –
vielleicht :-) meine Suchanfrage war: "C# dynamisches anderes Projekt" PS: Ich entwickle nicht in C# in diesen Tagen und habe 'dynamic' weder verwendet – zerkms