Tag: 编码风格

你在实例变量前面使用’this’吗?

当从类本身访问类的实例变量或属性时,是否用“ this. ”前缀它们?

C#编码风格 – 线长/包线

换行有助于代码可读性吗? 是否有一个普遍接受的礼仪使用线延续? 为什么用这个: SomeMethod(int someInt, Object someObject, String someString, bool someBool) { … } 而不是这个: SomeMethod(int someInt, Object someObject, String someString, bool someBool) { … } 编辑:从行继续到换行重新措辞我的问题

在c#中捕获特定与通用exception

这个问题来自针对我创建的对象的代码分析。 分析说我应该捕获一个比基本exception更具体的exception类型。 您是否发现自己只使用捕获通用exception或尝试捕获特定exception并使用多个catch块默认为通用exception? 有问题的代码块之一如下: internal static bool ClearFlags(string connectionString, Guid ID) { bool returnValue = false; SqlConnection dbEngine = new SqlConnection(connectionString); SqlCommand dbCmd = new SqlCommand(“ClearFlags”, dbEngine); SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCmd); dbCmd.CommandType = CommandType.StoredProcedure; try { dbCmd.Parameters.AddWithValue(“@ID”, ID.ToString()); dbEngine.Open(); dbCmd.ExecuteNonQuery(); dbEngine.Close(); returnValue = true; } catch (Exception ex) { ErrorHandler(ex); } return returnValue; } […]

OO设计 – 您是否在内部使用公共属性或私有字段?

我在C#2.0工作,但这适用于大多数面向对象的语言。 当我创建具有包装私有字段的公共属性的类时,我会在内部是否应该使用属性或字段之间来回切换。 当然C#3.0使自动属性更容易,但它仍然可以应用。 有关系吗? public class Person { private string _name = “”; public string Name { get { return _name; } set { _name = value; } } public Person(string name) { _name = name; //should I use the property or field here? } }

C#:显式地调用一个事件处理程序真是“一件好事”吗?

此问题与C#有关,但也可能适用于其他语言。 我预计不会使用以下代码: using System.Windows.Forms; class MyForm : Form { private Timer myTimer; private Button myButton; public MyForm() { // Initialize the components, etc. myTimer.Tick += new EventHandler( myTimer_Tick ); myButton.Click += new EventHandler( myButton_Click ); myTimer.Start(); } private void myTimer_Tick( object sender, EventArgs eventArgs ) { myTimer.Stop(); // also, I see a lot of usage […]

如何清理if else系列

在C#中工作,想要减少if else系列,实体有两个属性FromServiceID和ToServiceID ,假设我的ServiceClass实例有下面的信息。如何清理下面的代码? 任何类型的建议都是可以接受的。 entity= new ServiceClass(); entity.FromServiceID=3 entity.ToServiceID=1 if (entity.FromServiceID == 1) { entity.1KWithdrawal(); } else if (entity.FromServiceID == 2) { entity.10KWithdrawal(); } else if (entity.FromServiceID == 3) { entity.BTWithdrawal(); } if (entity.ToServiceID == 1) { entity.1KDeposit(); } else if (entity.ToServiceID == 2) { entity.10KDeposit(); } else if (entity.ToServiceID == 3) { entity.BTDeposit(); } […]

锅炉板代码更换 – 这个代码有什么不好的吗?

我最近创建了这两个(不相关的)方法来替换我的winforms应用程序中的大量样板代码。 据我所知,他们工作正常,但我需要一些保证/建议,以确定是否存在一些我可能会遗漏的问题。 (从记忆里) static class SafeInvoker { //Utility to avoid boiler-plate InvokeRequired code //Usage: SafeInvoker.Invoke(myCtrl, () => myCtrl.Enabled = false); public static void Invoke(Control ctrl, Action cmd) { if (ctrl.InvokeRequired) ctrl.BeginInvoke(new MethodInvoker(cmd)); else cmd(); } //Replaces OnMyEventRaised boiler-plate code //Usage: SafeInvoker.RaiseEvent(this, MyEventRaised) public static void RaiseEvent(object sender, EventHandler evnt) { var handler = evnt; if […]