如何将此委托转换为函数?

时间:2015-05-01 18:07:23

标签: c#

我有这个代表:

Func<Employee, string> format = e =>
     string.Format( "{0} - {1}, {2}",
       e.Number, e.LastName, e.FirstName
);

我将以相同的方式在两种不同的方法中使用它,而不是重复代码,我想创建一个私有方法来处理它。如何创建完全相同的私有方法?

3 个答案:

答案 0 :(得分:5)

cross.getStyleClass().add("cross");

但实际上这听起来应该是public static string FormatEmployee(Employee e) { return string.Format( "{0} - {1}, {2}", e.Number, e.LastName, e.FirstName); } 课程中的方法,或者如果您无法编辑该课程,那么您可以将其作为扩展方法。

Employee

答案 1 :(得分:1)

private string FormatEmployee(Employee e) 
{
return string.Format("{0} - {1}, {2}",
       e.Number, e.LastName, e.FirstName);
}

答案 2 :(得分:1)

func是一个接受一个输入并返回输出的方法。

private string MethodName(Employee e)
{
    return string.Format("{0} - {1}, {2}",
         e.Number, e.LastName, e.FirstName);

}

请注意,您也可以使用statement lambda而不是lambda表达式。语句lambda与上面命名的方法体具有相同的方法体。

e => {
         return string.Format( "{0} - {1}, {2}",
              e.Number, e.LastName, e.FirstName);
     }