我不确定如何正确地标题这个问题,但这是我想要做的.
假设我有一个具有ID,firstName和lastName字段的Customer类.现在说我有一个客户列表,我想编写一个方法,将ID,firstName或者lastName写入控制台,具体取决于我指定的那个.
在本质上,我想编写一个方法来接受我想要打印的字段,而不是编写三个单独的方法来打印出每个字段类型.
我知道在过去的几天里我已经读过关于如何在C#中做到这一点但是我的大脑正在超载并且它正在滑落我的脑海......
任何帮助,将不胜感激.
BFr*_*ree 10
public void PrintCustomer<T>(Customer c, Func<Customer, T> func)
{
Console.WriteLine("{0} , {1}", c.ID, func(c));
}
Run Code Online (Sandbox Code Playgroud)
用法:
PrintCustomer(myCustomer, c => c.FirstName);
Run Code Online (Sandbox Code Playgroud)
要么
PrintCustomer(myCustomer, c => c.LastName);
Run Code Online (Sandbox Code Playgroud)