ここを見てください (抽象クラス設計): http://msdn.microsoft.com/en-us/library/ms229047.aspx
それは言います:
(1) public または protected internal (Visual Basic では Protected Friend) コンストラクターを抽象型で定義しないでください。
C# では、抽象クラスをインスタンス化できません。では、C# で抽象クラスのパブリック コンストラクターを定義することは依然として重要なのでしょうか? それとも、セマンティックな意味のために、抽象クラスのパブリック コンストラクターを作成していませんか?
また、次のようにも述べています。
(2) 抽象クラスで保護されたコンストラクターまたは内部コンストラクターを定義してください。
内部コンストラクターを定義する ?? (1)では、内部保護されたコンストラクターを定義しないのは、「パブリックまたは保護された内部可視性を持つコンストラクターは、インスタンス化できる型用である」ためであることがわかります。抽象クラスの内部コンストラクターを定義すると、(1) の規則が破られませんか?
前もって感謝します。:)