J'utilise le code suivant pour passer une propriété à une expression lambda.Comment créer une méthode qui accepte une expression lambda comme argument?
namespace FuncTest
{
class Test
{
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
Test t = new Test();
t.Name = "My Test";
PrintPropValue(t => t.Name);
}
private static void PrintPropValue(Func<string> func)
{
Console.WriteLine(func.Invoke());
}
}
}
Cela ne compile pas. Je veux juste que la fonction puisse prendre la propriété et être capable d'évaluer.
Quelle est l'erreur de compilation? –
Pourquoi ne pas se contenter d'un 'PrintPropValue (string prop)' void alors au lieu de jongler avec lambdas? Voulez-vous avoir des expressions qui prennent une instance et retournent une propriété? –
@amdras: J'essaie juste d'apprendre les lamdas. – Amitabh