2006年10月10日
川俣晶の縁側ソフトウェア技術雑記total 4633 count

System.Net.Sockets.TcpClient.Client プロパティの.NET Framework 1.1~2.0間の非互換性「制限解除」

Written By: 川俣 晶連絡先

 ほとんど個人的なメモです。

 .NET FrameworkのSystem.Net.Sockets.TcpClient.Client プロパティは、1.1と2.0の間で使い方に関する決定的な非互換性を持ちます。(上位互換性はある)

宣言の違い(C#構文) §

1.1の場合

protected Socket Client {get; set;}

2.0の場合

public Socket Client { get; set; }

 つまり、protectedがpublicになって制限が解除されたわけです。

使い方の相違 §

 1.1の場合、Clientプロパティに触れるということは、常にSystem.Net.Sockets.TcpClientクラスの継承を必須要求していたことになります。

 しかし、2.0では継承は必須ではありません。

 ソースコードは大幅に簡潔になります。

感想 §

 これはずっと昔、えらい苦労させられた問題に関係する話題です。

 なので、印象が強く、すぐに思い出せました。

 「ったくもう、この機能をprotectedにするとは何を考えてるのだろう……」と思っていたら、制限解除されたようですね。

 変更点のリストを詳しく見ている訳ではないので(見てもどうせ気付かないだろうし)、まだまだたまに発見があります。

 余談ですが、これでお役御免となった昔のコードです。

public class MyTcpClient : System.Net.Sockets.TcpClient

{

    public MyTcpClient( System.Net.Sockets.Socket socket )

    {

        base.Client = socket;

    }

    public EndPoint RemoteEndPoint

    {

        get

        {

            System.Net.Sockets.Socket socket = Client;

            return socket.RemoteEndPoint;

        }

    }

}

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2006年
10月
13日
C#による拡張可能なライブラリの設計指針の私的試行メモ
3days 0 count
total 5884 count
【技術雑記】の前のコンテンツ
2006年
10月
05日
トランプカードをドラッグで移動する for Windows Mobile 5.0
3days 0 count
total 5187 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20061010185314
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.