0
A
答えて
10
:
public MyUnsealedClass()
{
if (this.GetType() != typeof(MyUnsealedClass))
throw new Exception("Don't do that");
}
なぜかかわらsealed
キーワードを使用していませんか?
9
もう1つの方法は、型のオブジェクトを返す静的メソッドを作成してから、そのコンストラクタをprivateにすることです。これには、実行時エラーの代わりにコンパイル時エラーが生成されるという利点があります。
4
あなたは次にあなたがしたい場合は、
class Base
{
private Base() {}
public static Base CreateBase() { return new Base(); }
}
また民間のctorへのアクセス権を持っているベースの静的メソッドのように(ベースオブジェクトをcreaetするユーティリティを提供プライベートコンストラクタ
class Base
{
private Base() {}
}
class Derived : Base
{
// derp
}
を使用することができますこのクラスから派生することができますが、他の人がそれをやりたがらないようにするには、クラスを内部(または内部の内部)にすることができます
class Base
{
internal Base() { }
}
class Derived : Base
{
}
// in another assembly
class MyOwnDerived : Base
{
// derp
}
0
コンストラクターで例外をスローすると機能します。
私は同意します - なぜシールを使用しないのですか?それはその理由のためです。
あなたが何か他のことをやろうとしているのでなければ、そのような場合は、おそらくもっと良い解決策があります。
1
あなたは、線に沿って何かプライベートコンストラクタを使用することによって、これを達成することができます:私は、少なくとも簡単に、あなたができるとは思わない
public class NonInheritableClass
{
static NonInheritableClass GetObject()
{
return new NonInheritableClass();
}
private NonInheritableClass()
{
}
}
関連する問題
- 1. CSSの列継承を防止しますか?
- 2. MongoMapperでの継承の防止
- 3. マルチプロセッシングライブラリでのファイルハンドルの継承の防止
- 4. ネストされたビューのスコープの継承を防止しますか?
- 5. サブクラスで特定の属性の継承を防止しますか?
- 6. 防ぎスタイルの継承
- 7. ascxでのCSSとjs継承の防止
- 8. selection.selectを使用して不要なデータ継承を防止する
- 9. 休止継承クエリ(基準)
- 10. UML - クラス継承、あなたは何を継承しますか?
- 11. Javascriptを使用してスタイルを設定するときに、 'display'のスタイル継承を防止します。
- 12. web.config継承を停止するには
- 13. 継承したクラスを継承する
- 14. テンプレートを継承した継承継承メンバ
- 15. Javaクラスを継承するKotlinクラスもAnyから継承しますか?
- 16. MultiLevel継承、クラスCはクラスAを継承できますか?
- 17. xmlで継承ビューを継承します
- 18. 継承:親ポインタから継承したメソッドを使用する
- 19. UWPはUserControlから継承したクラスから継承します
- 20. コンストラクタを継承しますか?
- 21. 継承のプロトタイプをコピーしますか?
- 22. DataGridViewからカスタムプロパティを継承します。
- 23. CSS属性を特定の要素のデフォルト値に設定する(または継承を防止する)
- 24. .NETカスタムコントロール:フォントサイズの変更を防止する/親からフォントスケール/サイズを継承する
- 25. CSSが継承しない継承
- 26. 継承されたクラスはネストされたクラスを継承しますか?
- 27. 継承は実際にはクラスのメンバーを継承しますか?
- 28. カスタム属性クラスは継承されたAttributeUsageフラグを継承しますか?
- 29. 継承クラスを使用したテンプレートクラスからの継承
- 30. "接頭辞の継承"を防ぐ方法はありますか?
を。あなたは 'sealed'キーワードに対して何を持っていますか? – Tim
次のどのように ':'文字を使用せずにクラスから継承するのですか? :-) –
?ペダルを使わずに車を運転するにはどうすればいいですか? – SLaks