- PR -

[C#] シールクラスのoverrideキーワードがついたメソッド

1
投稿者投稿内容
かるびんび
会議室デビュー日: 2005/08/28
投稿数: 2
投稿日時: 2005-08-28 21:56
始めまして、よろしくお願いします。

最近、C#を始めましてちょこちょこ作り始めたのですが、どう調べようか困ってしまい投稿してみようと思いました。

練習がてらに簡単なファイラでも作ってみようかと思い、System.IO.Directoryを使っていろいろ遊んでみたのですが、GetDirectories()というメソッドには「override」というキーワードが付いています。
しかも、このクラス(System.IO.Directory)はシールクラスでした。

どうにかして、このGetDirectories()というメソッドをオーバーライドして使うことが出来るのでしょうか?


# GetDirectories()をオーバーライドしてパスを取り除いたディレクトリ名を取得しようと思ったのですが……

# 2005/08/28 誤字修正しました

[ メッセージ編集済み 編集者: かるびんび 編集日時 2005-08-28 21:58 ]
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-08-28 22:05
初めまして。

Directory クラスは全て static なメソッドしかないので、override なメソッドはありませんね。
override でなくて、Overloads(C#はいらない)。

Directory クラスに似たもので DirectoryInfo というクラスもあります。こちらはインスタンス化できるやつですね。それでも、GetDirectories() はオーバーライドできるメソッドではありません。

さて、質問の件ですが、なぜパスを取り除いたディレクトリ名を取得するという処理にオーバーライドを使いたいのでしょうか?「単純に使用して取り除く」ではだめなのでしょうか?
かるびんび
会議室デビュー日: 2005/08/28
投稿数: 2
投稿日時: 2005-08-28 22:19
返信ありがとうございます。

よくよく見てみたら、overrideではありませんでした。申し訳ないです。


GetDirectoriesをオーバーライドしてディレクトリ名だけを返すような形にしたらシンプルになるかと思ったのですが、考えてみたら囚人さんのおっしゃるとおり「単純に使用して取り除く」でも同じですね……

そういう振る舞いを持つクラスを作ってみようかと思います。
ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-08-29 08:30
引用:

ディレクトリ名だけを返すような形にしたらシンプルになるかと思ったのですが、
考えてみたら囚人さんのおっしゃるとおり「単純に使用して取り除く」でも同じですね……
そういう振る舞いを持つクラスを作ってみようかと思います。


クラスというか、メソッドですよね。
ディレクトリ (フォルダ) 内のすべてのディレクトリを取得する と、
ディレクトリを取得する を組み合わせるだけなので、がんばってください。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)