我尝试将ref object
声明为可选参数。所以我理解为什么我不能这样做。 decesion是重载我的方法,现在我有一个新的问题:
public Guid GetIdByEmployeeTypeName(string typeName)
{
return SurroundWithTryCatch(() => new EmployeeType().GetEmployerGroupIdByTypeName(typeName));
}
public Guid GetIdByEmployeeTypeName(string typeName, ref EmployeeType employeeType)
{
EmployeeType type = employeeType; //The problem here. I can not use ref object inside an anonymous method.
return SurroundWithTryCatch(() => type.GetEmployerGroupIdByTypeName(typeName));
}
如何优化代码?
答案 0 :(得分:0)
我不会说这是一个好的(或非常糟糕的)想法,但你可以创建没有ref
的重载,并且调用方法需要一个不带用于返回的值:
public Guid GetIdByEmployeeTypeName(string typeName)
{
var tmp = new EmployeeType();
return GetIdByEmployeeType(typeName, ref tmp);
}