[FxCop.设计规则]1. 抽象类不应该拥有构造函数

Q1032067307

Q1032067307

2016-01-29 12:57

[FxCop.设计规则]1. 抽象类不应该拥有构造函数,[FxCop.设计规则]1. 抽象类不应该拥有构造函数
1. 抽象类不应该拥有构造函数原文引用:Abstract types should not have constructors
TypeName:
AbstractTypesShouldNotHaveConstructors
CheckId:
CA1012
Category:
Microsoft.Design
Message Level:
CriticalWarning
Certainty:
95%
Breaking Change:
NonBreaking
Cause: A public type is abstract and has a public constructor.
Rule Description
Constructors on abstract types can only be called by derived types. Because public constructors create instances of a type, and you cannot create instances of an abstract type, an abstract type with a public constructor is incorrectly designed.
How to Fix Violations
To fix a violation of this rule, either make the constructor protected, or do not declare the type as abstract.
When to Exclude Messages
Do not exclude a message from this rule.
Example Code
The following example contains an abstract type that violates this rule, and an abstract type that is correctly implemented.

[C#]
using System;
namespace DesignLibrary
{
public abstract class BadAbstractClassWithConstructor
{
// Violates rule: AbstractTypesShouldNotHaveConstructors.
public BadAbstractClassWithConstructor()
{
// Add constructor logic here.
}
}
public abstract class GoodAbstractClassWithConstructor
{
protected GoodAbstractClassWithConstructor()
{
// Add constructor logic here.
}
}
}
引起的原因:一个公共抽象类型拥有一个公共的构造函数描述:构造函数被用来建立一个对象实例,但是你不能建立一个抽象类型的实例,抽象类型的构造函数就仅仅能够被它的继承类型使用。因此,为一个抽象类构造公共构造函数是一个错误的设计。修复:如果需要修复这个问题,可以声明这个构造函数为保护型,或者,声明这个类型不是一个抽象类型。
展开更多 50%)
分享

猜你喜欢

[FxCop.设计规则]1. 抽象类不应该拥有构造函数

电脑网络
[FxCop.设计规则]1. 抽象类不应该拥有构造函数

什么时候不应该使用 XML(1)

Web开发
什么时候不应该使用 XML(1)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

产后月子应不应该刷牙

怀孕
产后月子应不应该刷牙

jQuery入门[1]-构造函数

Web开发
jQuery入门[1]-构造函数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

应不应该因为孩子复婚

情感 恋爱技巧 恋爱宝典
应不应该因为孩子复婚

女生应不应该问男友要钱

情感 恋爱技巧 恋爱宝典
女生应不应该问男友要钱

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash MX 编程深层次应用-网络连线游戏(9)

Flash MX 编程深层次应用-网络连线游戏(9)

如何让百度收录我的网站 ?? - PHPchina

如何让百度收录我的网站 ?? - PHPchina
下拉加载更多内容 ↓