あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

わかったよ。なんでToStringが呼び出されないか。
クラスで宣言したToStringなんだよ。つまり、USS->ToStringにしたら呼び出せる。
Form1での記述はUSS->SelectedValue->ToStringになってるからクラス内に記述したメソッドは呼び出されない。
ここまではわかった。
ではなぜ、使うことのない関数があの例に記述されているか。そこが全くわからない。
MSDNは絶対に解説する気ないよ。ただそれっぽい説明しときゃいいと思ってるよ。
ここら辺はもうちょっと詰めていけば理解できそうだから、出来たら解説してみる。C++の需要とか考えずに。


私はウソをつきました。
しかしそこに悪意はないのです。
ただ予言した未来が訪れなかっただけなのです。
理解できませんこの奇態コード。
初期化時には確かにToStringが呼び出せてる。
というか上の理解は間違っている。
USSはクラスであり、Form1内の記述はListBox->SelectedValueになっていて、その型がUSS型なのです。
つまりここでこのあと->ToStringと書けばUSS内のToStringメソッドを呼び出せるわけです。
しかしこれは初期化時にしか呼び出されません。わけがわかりません。
おそらくDataSourceとValueMemberとDisplayMemberが設定されると呼び出されなくなるのかと。理由はわかりませんえん。
検証用に書き足したりしないとダメだなやっぱり。


ValueMember(おそらくDataSourceも)が設定されてからだと、
SelectedValueを呼び出したときにSelectedIndexを要素数にしてDataSourceの配列から値(この場合USS型)を取得、
ValueMember(String^型)に記されたプロパティを自動で検索、呼び出して、そのまま返す。
USS->ToStringが呼び出される前にreturnされるのでToStringは機能しない。
こんなところじゃないでしょうか。
しかし記述無視というか、ToString呼び出す前になんたらなんて出来るのか。でもそれ以外呼び出されてないことの説明がつかないし・・・
これってValueMemberその他の内部コードが実際に読めればなんにも悩むことなんてないのにね。おかしいと思いませんか?


あと、一つ気になるのが、SelectedValueChangedイベントで呼び出す場合、
コンボボックスだとうまく動作しないこと。
ボックスクリックしただけでイベント発動しちまう。→実質マウスでの操作が不能。アローキーで一つずつ送る以外に変更できない。
ブレークポイント全部取ればスムーズに行くかもしれないけど。試す前にコード全部クリアしちまった/(^o^)\。


MSDNはとっとと全内部コード晒せよ。コピー不可とかにしといていいから。
意味不明の日本語訳より実コード見たほうがずっとわかりやすい。