gpt4 book ai didi

c# - 组合/合并 using 语句 - c#

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:29 25 4
gpt4 key购买 nike

我在方法中有几个using语句

 public List<Object> MethodA(){

using ( someclassTypeA var1 = IdentifierClass.Object1.createObject())
using ( someclassTypeB var2 = IdentifierClass.Object2.createObject())
using ( someclassTypeC var3 = IdentifierClass.Object3.createObject())
...
//20 of these using statements
...
//test code
}

当我添加更多测试时,我将拥有多种类似的测试方法。所以它在一个文件中看起来不太好。

有没有一种方法可以缩短 using 代码,也许可以从其他类或其他东西中获取 using 语句?

最佳答案

我认为您可以将所有这些包装在一个共享类中,这样您就不必从头到尾重复一遍

public class SharedContainer : IDisposible
{
public someclassTypeA Var1 {get;}
public someclassTypeB Var2 {get;}
public someclassTypeC Var3 {get;}

public SharedContainer()
{
Var1 = IdentifierClass.Object1.createObject();
Var2 = IdentifierClass.Object2.createObject();
Var3 = IdentifierClass.Object3.createObject();
}

public void Dispose()
{
Var1.Dispose();
Var2.Dispose();
Var3.Dispose();
}
}

现在在您的客户端代码中您只有 1 个 using:

using(var shared = new SharedContainer())
{
shared.Var1.... // whatever
}

但如果你需要这样做,我建议你有更大的问题。

关于c# - 组合/合并 using 语句 - c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56757078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com