bir temsilci oluşturun: Mülk, bir alıcı ve ayarlayıcı yöntemin etrafında sarıcıEğer derleme tip-güvenli sözdizimini kullanabilirsiniz bir yöntem bir temsilci oluşturmak için bir özellik alıcı ya da ayarlayıcı yöntemiyle
private int Method() { ... }
// and create the delegate to Method...
Func<int> d = Method;
ve Bir özellik getter yöntemine bir temsilci oluşturmak istiyorum. Maalesef ne işe yaramıyor?
Ben alıcı yöntemi zaten temsilci imza eşleştiğinde gereksiz görünüyor ayrı lambda yöntemi, oluşturmak zorunda: doğrudan temsilci yöntemini, ben derlemek değil kötü yansıma kullanmak zorunda kullanmak içinFunc<int> d =() => Prop;
tip-güvenli:
// something like this, not tested...
MethodInfo m = GetType().GetProperty("Prop").GetGetMethod();
Func<int> d = (Func<int>)Delegate.CreateDelegate(typeof(Func<int>), m);
doğrudan derleme güvenli bir şekilde üstünde normal bir yöntem üzerinde bir temsilci oluşturma benzer bir özellik elde yöntem üzerinde bir temsilci oluşturma herhangi bir yolu var mı, bir kullanmak gerek kalmadan ara lambda yöntemi?
lambda nesi var? –
Ekstra gereksiz bir yöntemdir ve gerekenden daha karmaşık hale getirir, çünkü mülk sahibi zaten zaten delegenin imzasıyla eşleştiğinde – thecoop
Burada noktanızı göremiyorum: bir lambda bir sınıf yöntemi değil, bir temsilci başlatmak için bir yoldur . Func d =() => Prop, d temsilcisimin –