我需要将值从一个类传递到另一个类,并问我最好的方法是什么。你觉得怎么样?
A)
public string getValue(){
string returnValue;
ClassA myClass = new ClassA();
returnValue= myClass.getValue();
return returnValue;
}
b)中
public string getValue(){
return new ClassA().getValue();
}
我不知道b是否存在编程风格错误的问题......
谢谢!
答案 0 :(得分:5)
在发布模式下,编译器几乎肯定会将“a”降低到“b”无论如何。
如果您可能希望使用该位置的断点进行调试,则可以添加中间变量。但IMO“a”增加的很少。我会用“b”。
当然,您也可以认为new ClassA()
实例添加的很少,而应该提供静态方法。然后在那时,方法本身提供的很少,调用者应该只调用静态ClassA.GetValue()
本身。
答案 1 :(得分:1)
我假设ClassA做某事(计算,数据库调用等),你想要的结果。一种方法是将ClassA设计为静态类,类似于:
public static ClassA{
public static string GetValue(){
//magic happens here
}
}
然后任何其他类都可以简单地调用该方法:
var myReturnValue = ClassA.GetValue();