特に問題ではないのですが、少し気になった質問があります。
2 つのメソッドを持つクラスがあります。1 つは静的メソッドで、もう 1 つはインスタンス メソッドです。メソッドは同じ名前です。
public class BlockHeader
{
public static BlockHeader Peek(BinaryReader reader)
{
// Create a block header and peek at it.
BlockHeader blockHeader = new BlockHeader();
blockHeader.Peek(reader);
return blockHeader;
}
public virtual void Peek(BinaryReader reader)
{
// Do magic.
}
}
プロジェクトをビルドしようとすると、次のエラーが表示されます。
'MyApp.BlockHeader.Peek(System.IO.BinaryReader)' と 'MyApp.BlockHeader.Peek(System.IO.BinaryReader)' のメソッドまたはプロパティ間の呼び出しがあいまいです。
メソッドのシグネチャが実質的に同じであることはわかっていますが、インスタンス メンバーから静的メソッドを直接呼び出す方法がわかりません。
これにはかなりの理由があると思いますが、その理由を知っている人はいますか?