.NET BCL方法的最佳实践

时间:2012-08-21 15:47:09

标签: c# .net wcf class

需要对以下案例提出一些建议

我有一个子方法,在以编程方式设置绑定信息和端点信息后初始化服务客户端实例。保存实例的变量在类级别定义,而子方法只是将其设置为新实例。 在代码审查会话期间,开发人员建议我们将实例作为子方法的参数传递,并将参数返回给main方法。这是最好的方法

private void InstantiateClient()
{
    //do some configurations on bindings and endpoint 
    _ClassLevelInstanceClient = new ServiceClient(bindingInfo, endpointInfo);
}

private ServiceClient InstantiateClient(ServiceClient myClientInstance)
{
    //do some configurations on bindings and endpoint
    myClientInstance = new ServiceClient(bindingInfo, endpointInfo);
    return myClientInstance;
}

1 个答案:

答案 0 :(得分:1)

我想我们需要更多的应用知识才能提供合适的解决方案。最好的方法是找到有关开发人员关于评论的理由。我个人不同意。虽然我可能会做点什么。

在父/调用方法中:

using(ServiceClient client = InstantiateClient()){
//Make service call here
}

在子方法中,

private ServiceClient InstantiateClient()
{
    //do some configurations on bindings and endpoint 
    return new ServiceClient(bindingInfo, endpointInfo);
}

同样,如果在您的应用程序中有意义,我会将InstantiateClient作为通用方法,如下所示:

private ClientBase<T> InstantiateClient(){
// create and return specific client here
}