質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

1216閲覧

Visual StudioでC#のListView.Items.Clear()の実装を見れないのは何故でしょうか。

abroad128

総合スコア60

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

2グッド

0クリップ

投稿2021/04/05 13:19

編集2021/04/05 13:35

listView1.Items.Clear();のような文でClearでF12で定義に移動すると仮想メソッドがあるだけで実装部分がみれません。どこに書いてあるのでしょうか。

xhxhsj, vrgegsg👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

IList.Clear()

投稿2021/04/05 13:29

abroad128

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2021/04/05 13:32

意味がわかりません。実装がインターフェースの中にありましたか?
soi013

2021/04/05 13:33

ぜんぜん、質問内容の解決になってないですやん。
abroad128
abroad128

2021/04/05 13:37

soi013 すみませんでした。 ソースコードと書きましたが実際には実装部分が見れれば満足なので質問文を修正しました。
Zuishin

2021/04/05 13:40

書かれていませんが。何を実装と呼んでいますか?
Zuishin

2021/04/05 13:43

ああ、意味がわかりました。リンク先に「実装」と書いてありますね。あれは、ListView.ListViewItemCollection.Clear が IList.Clear を実装しているという意味です。その逆ではありません。
abroad128

2021/04/05 13:44

上記サイトの「実装」という部分に書かれています。 その部分はmscorlib.dllでありそれ以上は中身を見れませんでしたが実際に呼び出されるメソッド本体がどこにあるか分かったので大丈夫です。
abroad128

2021/04/05 13:47

>ああ、意味がわかりました そういうことでしたか。勘違いでした。 C#に詳しくないのでわからないのですが実装もvirtualと書くのですね。
Zuishin

2021/04/05 13:57

むしろ実装しか virtual と書きません。
abroad128

2021/04/05 13:59

どうでもいいです。
Zuishin

2021/04/05 14:05

そういうところをどうでもいいと思っていたら公式情報が読めないんですよ。
退会済みユーザー

退会済みユーザー

2021/04/05 14:08 編集

> C#に詳しくないのでわからないのですが実装もvirtualと書くのですね。 違います。Zuishin さんの上のコメントに書いてある通り「ListView.ListViewItemCollection.Clear が IList.Clear を実装しているという意味」です。 IList.Clear は、質問を書き換える前に書いてあった「ソースコード」ではもちろんないし、「実装部分」でもありません。ドキュメントに書いてあった「実装」(英語で Implements)というのは、ListView.ListViewItemCollection クラスは IList インターフェイスを継承しており、IList で定義されている Clear というメソッドを実装 (implement) しているということです。 自分で自分の質問に間違った回答を書いて「解決した方法」とするのは止めましょう。
abroad128

2021/04/05 14:08

そもそも質問自体どうでもよくなって適当に回答して終わらせようとしていたのですが真面目な反応が付いてしまい残念に思っております。
退会済みユーザー

退会済みユーザー

2021/04/05 14:12

どうでもいい質問だったら最初からしないこと。あなたがスレッドを立てたからと言ってここはあなた専用の場所ではありません。「質問と回答を通してお互いに知識や情報を交換・共有する場所」「お互いの好意の上に成り立っている助け合いの場」ということを認識しましょう。https://teratail.com/help/question-tips
soi013

2021/04/05 14:13

真面目に回答してほしくないなら、もっとフザけた感じの質問文にしておいてほしいですね。 あなたのようの人間と関わったことが残念ですよ。
abroad128

2021/04/05 14:16

最初はどうでもよくなかったので質問してしまいました。 しばらくしてあまりに初歩的な部分の理解の問題と気づくも真っ当な削除理由は思いつかず回答がいらない意思表示をしました。
Zuishin

2021/04/05 14:18

何の言い訳かわからないけど、どうでもいい。
abroad128

2021/04/05 14:19

真面目に相手して損しました。
Zuishin

2021/04/05 14:21

真面目だったのか。知っても誰も得しない言い訳にしか見えなかった。 誰かのためになる情報なら、もう一回わかるように書いてみ。
abroad128

2021/04/05 14:22

会話ができないようで残念です。
Zuishin

2021/04/05 14:24

会話が成り立つように書いてみ。
abroad128

2021/04/05 14:25

どうでもいい茶番に付き合うのは無駄なのでやめておきます。
Zuishin

2021/04/05 14:25

意味のある情報が何もないなら、こっちにはどうでもいいし、君がそれを真面目に書いて損をしたのはただの自業自得だろう。違うか?
abroad128

2021/04/05 14:27

悔しそうですね。
退会済みユーザー

退会済みユーザー

2021/04/05 14:27

> 真面目に相手して損しました。 > 会話ができないようで残念です。 それは回答者側の言い分。 実社会では社会人として(社会人ではない?)の常識がない人は誰からも相手にされなくなって淘汰されるはず。ネットだと面白半分でかまってくれる人もいるかもしれないけどね。
Zuishin

2021/04/05 14:27

茶番に付き合ったのはお前じゃなくてこっちだ。その程度のことはわかるようになってから来い。
guest

0

WinFormsだという前提で答えます。

ソースコードが見れないのは、dotnetのSDKにはソースコードが含まれていないからです。

ListView.Items.Clear()のコードは以下の場所にあります。

.NET Coreと.NET5のコードはGitHub上で見ることができます。

https://github.com/dotnet/winforms/blob/558fb204931d7029399dcac8380a2ac4e8688ef9/src/System.Windows.Forms/src/System/Windows/Forms/ListView.ListViewItemCollection.cs#L302

.NET Framewrokなら、ReferenceSourceの以下の場所です。
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/ListView.cs,8545

投稿2021/04/05 13:32

編集2021/04/05 14:08
soi013

総合スコア149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/04/05 13:43

> .NET Frameworkはクローズソースなので、そのソースコードを見ることは出来ませんが、 https://referencesource.microsoft.com/ ← ここはいかが?
soi013

2021/04/05 14:02

あれ、完全に勘違いしてました。そのサイトは知っていましたが、WinFormsやWPFは含まれていないとお思ってました。 修正しておきます。 ご指摘ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問