我正在尝试“泛化”我们在系统中散布的一些代码。
我想:
我对仿制药很陌生,所以任何帮助都会受到赞赏。
下面是我的手指在空中(!)
public static T ReturnSingleObject<T>(Func<string, int, T> dynamicSignature)
{
T returnValue;
ServiceReference wCFService;
try
{
wCFService = new BusinessServiceClient();
returnValue = dynamicSignature();
//returnValue = wCFService.AMETHOD(PARAM1, PARAM2);
return returnValue;
}
catch (Exception)
{
if (wCFService != null) wCFService.Abort();
throw;
}
finally
{
if (wCFService != null) wCFService.Close();
}
}
答案 0 :(得分:2)
您的动态签名功能似乎缺少几个参数,因此您需要添加这些参数。此外,您可以将return语句移到try块的底部,并将返回值初始化为默认值:
T returnValue = default(T);
...
try
{
...
returnValue = dynamicSignature(somestring, someint);
...
}
...
return returnValue;
答案 1 :(得分:0)
你应该查看它处理声明一般委托的链接: http://msdn.microsoft.com/en-us/library/sx2bwtw7.aspx