【发布时间】:2009-07-22 20:43:10
【问题描述】:
我正在使用 FxCop 1.36 运行静态代码分析,并且不断收到 warning CA1034: NestedTypesShouldNotBeVisible。
如果父类被声明为内部或私有,我会理解,但它是公共的。为什么 TimerReset 被宣布为 public 会不好?
是我遗漏了什么,还是可以忽略?
感谢您的任何意见!
以下是导致此警告的代码摘录:
namespace Company.App.Thing
{
public partial class Page : XtraPage
{
public delegate void TimerResetDelegate(object sender, EventArgs e);
private TimerResetDelegate _timerReset;
public Page()
{
InitializeComponent();
}
public TimerResetDelegate TimerReset
{
set
{
if (null != (_timerReset = value))
{
checkBox.Click += new EventHandler(_timerReset);
textField.Click += new EventHandler(_timerReset);
textField.KeyDown += new KeyEventHandler(_timerReset);
TimeField.Click += new EventHandler(_timerReset);
TimeField.KeyDown += new KeyEventHandler(_timerReset);
}
}
}
}
}
【问题讨论】:
-
你为什么不使用
EventHandler? -
这也是我的问题。
-
仅供任何好奇的读者参考:不要在这种“纯技术”属性
TimerReset上定义set或get/set,最好将其写为eventadd/remove。 see MSDN
标签: c# static-analysis fxcop