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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.41374 の関連記事表示

<< 0 >>
■41374  Re[5]: C#における値渡しと参照渡しのコーディングについて
□投稿者/ 渋木宏明(ひどり) -(2009/09/18(Fri) 16:26:29)
>
    >ですが、「参照渡しを行いたい需要もある」、
    >という点では変わらないのではないでしょうか。

    弁士さんも指摘してましたが

    ・代入操作における参照型/値型それぞれのふるまい
    ・メソッド引数の参照渡しと値渡し

    がごっちゃになっているんじゃないでしょうか。

    >ネットワーク通信の結果を例外のみに任せるべきということですね。

    ネットワーク通信に限らず、です。
    .NET では「エラー」はすべて例外で表現するのが原則です。

    int.TryParse() などは特例に見えるかもしれません。
    ですが、この類のメソッドに求められている責務は「パース可能かどうかを(bool 値で)返す」ことなのでで、これが自然な実装です。

    >ただ、それは、検査例外がない言語では、扱いにくいのでは?と考えた結果が上記の処理でした。

    関係ないと思いますねぇ。

    >上記の場合、通信を行っているクラスがアプリケーションの直下にあればいいですが、

    クラスがどのパッケージに配置されいるのかはあまり関係ないと思いますけど?

    >後でいつのまにか例外の種類が変わってたらcatchできません。
    >そこで、「結果値」は、戻り値として返す処理が適切なのかなと思いました。

    結果値の意味が変わったり拡張されたりしたら、同じことじゃありませんか?

    結局、その辺は使用するクラスの仕様をきっちりおさえておくことでしか対応できないです。
    検査例外があれば少しは助けになることもあるとは思いますが、それでもリフレクションなんかには対応しきれていないわけで、「検査例外があるからエラー処理は万全」というものでもありません。

    >>Java や C++ を、C 言語的な目線で習得したような印象を受けます。
    >
    >いえ、C言語はほとんどやってません。

    そうですか。
    でも、Java をしっかりやっていたとしても、検査例外がないくらいでああいったメソッド設計を持ち出してくるというのは、僕的にはすごく不思議な方向性に見えます。

    検査例外に対する理解というか受け取り方も、なんかちょっと僕のイメージとは違うものを感じます。
記事No.41320 のレス /過去ログ71より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -