C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 112 を表示中)
■66215 / )  Re[6]: テキスト全選択
□投稿者/ howling (341回)-(2013/04/09(Tue) 17:25:36)
No66213 (ニチェ さん) に返信

> 勝手に私のコメントをスルーさせるようなことはしないでください。

すみません、確かに横から何かするのは良くないですね。こちらは失礼しました。

> BeginInvokeに「式はメソッドではありません」というエラーが出ているということは、
> BeginInvokeという変数を定義しているのだと推測します。
> なので、BeginInvokeが何なのか理解していないのではないかと推測するわけです。

はい、おそらく理解できていないのではないか?と推測されるのはわかります。
ですから補足ですし、「こうやっている場合なら大丈夫ですよ」と書いているのです。
また、わかるようにリファレンスのURLも書いているのはそのためです。

> 推測するに、新たなクラスを作成し、ここのコードにBeginInvokeなるものを書いたものの、
> 「BeginInvokeは定義されていません」というエラーが出たため、BeginInvokeなる変数を定義してしまい、
> 「式はメソッドではありません」というエラーが出たものと推測します。
> (Formのクラス内にBeginInvokeのメソッドを書いている間は、そもそもこのようなことは起こらなかったのでは、と考えます。
>  他のTextBoxも同じようにしたい、ということなので、何らかのクラスを作成したということは十分考えられます。)

はい、それも推測できると思います。
ですので、おそらくはTextBoxを継承したクラスではなく、別のクラス内でやっていることかと思います。
ならば説明として、Controlと書くべきではないと思いますよ。
リファレンスを張った通り、SelectAllメソッドはTextBoxBaseの話です。
もちろん今回はBeginInvokeだけが問題なんだから、そこだけどうにかすれば良いだろう、と言うのなら止めません。
ですが、それでControlにして次に飛んでくる質問はSelectAllメソッドの話だと推測できませんか?

正直、ここはこうだからダメ、というのを教えるよりは、
理解できるのであればリファレンスでどう定義されていますよ、というのを見せる方が良いかと思います。

> これらは推測の域を出ていませんが、質問者の提示内容から読み取れることはこれが限界でしょう。
> でも、質問者はBeginInvokeについてよく理解していないであろうことを回答者は把握すべきであり、
> 内容をよく読んだ上で回答することが回答者のすべきことと思います。

「きっとそうだから」で物事は書くべきではないと思います。それって推測でしかないですから。
ですから、「もし○○している場合だったらこうしてね」と書く方が正しいのではないでしょうか。

> @ハウリングさんは、質問でも回答でも見切り発車のような傾向が散見されますが、
>  もう少し冷静になってみては如何でしょうか。

これ自体はあまり良くないことなのかもしれないですが、
「こうやるべきだ」とか、「こうやってください」と断定してしまうのはどうかと。
そのため、断定しない書き方は心がけています。
私の場合はこうやって解決しましたよ、という言い方はしますが、
だからといって同じ手法を取るべきだなんてとても言えない技量しかないと思っています。

「あ、こうなんだ!」と早合点してしまうことは確かによくありますので、そこは自分でも直していきたい部分です。
こちらはおっしゃる通り見切り発車になっていると思いますので、改善していきたいと思います。

# ただ、今回の回答内容は見直してみて頂けると幸いです。
# どちらが勝手に見切ったつもりになっているかは、それでわかると思います。失礼。
返信 編集キー/


管理者用

- Child Tree -