c#功能编码指南

时间:2011-03-15 14:50:25

标签: c# coding-style

我需要将值从一个类传递到另一个类,并问我最好的方法是什么。你觉得怎么样?

A)

public string getValue(){
   string returnValue;
   ClassA myClass = new ClassA();
   returnValue= myClass.getValue();
   return returnValue;
}

b)中

public string getValue(){
   return new ClassA().getValue(); 
}

我不知道b是否存在编程风格错误的问题......

谢谢!

2 个答案:

答案 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();