【发布时间】:2011-06-27 12:54:51
【问题描述】:
请帮帮我!我可以以某种方式自定义默认显示在重写方法主体中的自动生成的代码 sn-p 吗?
默认情况下被覆盖的方法看起来像
public override void Method(int A, object B)
{
base.Method(A, B);
}
我想用我自己的替换默认代码 sn-p,例如
public override void Method(int A, object B)
{
if (A > 0)
{
// some code..
}
else
{
// some code..
}
}
编辑
我有基类
public class BaseClass
{
public int Result {get;set;}
// This method depends on result
protected virtual void Method() {}
}
有很多类是从 BaseClass 派生的。他们都必须以相同的方式处理 Method() 中的 Result 属性。所以,我想放置一些代码,展示如何使用它。 根据我的想法,当我在智能感知列表中键入“覆盖”并选择“方法()”时,我得到以下代码:
public class DerivedClass: BaseClass
{
public override void Method()
{
// u have to check result property
if(result > 0)
{
// if result is positive do some logic
}
}
}
代替默认代码sn-p
public class DerivedClass: BaseClass
{
public override void Method()
{
base.Method();
}
}
终于
在这种情况下使用Template Method 模式是个好主意。
感谢大家分享你的想法!
【问题讨论】:
-
不,我想插入我自己的自定义代码而不是默认的 sn-p,可以吗?
-
什么是自动生成?
标签: c# visual-studio overriding code-snippets