IO.Directoryを継承できないのはなぜですか?
-
02-07-2019 - |
質問
VB.NET
で継承
System.IO.Directory
の class
を作成できないのはなぜですか? Lutz Roederによると、それは NotInheritable
として宣言されていない !
Directoryクラス
に機能を追加する utilityクラス
を作成したい。たとえば、 Directory.Move
関数を追加します。
お知らせください。6パックをお送りします。私はあなたに何も送っていませんが、今夜バーに来たらあなたをつなぎ、プールであなたを打ちます。
解決
.NETのメタデータから
namespace System.IO
{
// Summary:
// Exposes static methods for creating, moving, and enumerating through directories
// and subdirectories. This class cannot be inherited.
[ComVisible(true)]
public static class Directory
静的クラスから継承することはできません。
他のヒント
C#3.0 VB.NET 2008を使用していますか?拡張メソッド
DirectoryInfoクラスを使用する場合、MoveTo関数にアクセスできます。
編集:修正します...静的なDirectoryクラスにはすでにMoveメソッドがあります。
ReflectorがVBのシールド属性を正しく取得していない(または適切に表示されていない)のではないかと思います。 ILを見ると、シールされています:
class public abstract auto ansi sealed beforefieldinit Directory
所属していません StackOverflow