Wenn Sie dynamic an method übergeben, ist das Ergebnis ein dynamischer Ausdruck, auch wenn er nicht @ is
ls ich in C # 5 versuchte, eine Dynamik als Methodenparameter zu übergeben, wurde das Ergebnis aus irgendeinem Grund dynamisc
class Program
{
static void Main(string[] args)
{
dynamic value = "John";
Find<int>(value).ToList();
}
public static IEnumerable<T> Find<T>(object value)
{
//SOME LOGIC
yield return default(T); //REAL RESULT
}
}
Find<T>(value)
muss @ zurückgebIEnumerable<T>
. Warum hält der Compiler das für dynamisch?
Ich weiß dasFind<int>(val as object).ToList();
löst das, aber ich möchte verstehen,WARU es passiert