タグ

2011年4月17日のブックマーク (3件)

  • IClonableインターフェイスとMemberwiseCloneメソッド - Bug Catharsis

    今日は、.NETにおけるクローンオブジェクトなお勉強です。 インスタンスの中身をコピーする方法は、大きく分けて3つあります。 1つは、何も考えずにインスタンス内のメンバを手動でコピーする方法。 2つ目は、System.Reflectionを利用して、メンバをコピーする方法。 もう1つは、System.Object.MemberwiseCloneメソッドを使用する方法です。 このメソッドは、.NET Freamwork1.1では(オプションの設定によっては)インテリセンス表示されないので、 ご存知ない方も多いみたいです。基的なことではありますが、ライバルに差をつけろ!的な意気込みで、 知らなかった方は、これを機会に覚えておきましょう。 System.Object.MemberwiseCloneメソッドは、一般的に System.IClonableインターフェイスを実装して利用されます。 実

    IClonableインターフェイスとMemberwiseCloneメソッド - Bug Catharsis
  • どんなオブジェクトでもコピーできる汎用のディープコピー処理(ICloneable, MemberWiseClone, Serializable, BinaryFormatter, MemoryStream) - tekkの日記 C#,VB.NET

    シリアライズを利用した汎用のオブジェクトのディープコピー処理について整理しました。BinaryFormatterを使用してMemoryStreamに対してシリアライズ/デシリアライズを行いオブジェクトのメモリイメージのコピーを作成するテクニックです。理論上、Serializable属性を付与したすべてのオブジェクトに対してディープコピーが可能になります。 ICloneableインタフェース、MemberWiseCloneメソッドを使用したシャローコピーについては以下の記事を参考にしてください。 ■オブジェクトのコピー。ICloneableインタフェース、MemberWiseClone、シリアライズを利用したインスタンスのコピー。 http://d.hatena.ne.jp/tekk/20091012/1255362429 C# ジェネリック版と拡張メソッド版の2種を用意してみました。 us

    どんなオブジェクトでもコピーできる汎用のディープコピー処理(ICloneable, MemberWiseClone, Serializable, BinaryFormatter, MemoryStream) - tekkの日記 C#,VB.NET
    AppleTea500ml
    AppleTea500ml 2011/04/17
    コピー
  • 標準の例外の種類のキャッチとスロー

    以下のガイドラインでは、.NET Framework によって提供される例外の中で、最もよく使用されているいくつかの例外について、その推奨事項を示します。Framework によって提供される例外クラスの完全な一覧については、「.NET Framework クラス ライブラリ リファレンス」を参照してください。 例外と SystemException System.Exception や System.SystemException はスローしないでください。 再スローを目的にする場合を除き、System.Exception や System.SystemException をフレームワーク コードでキャッチしないでください。 System.Exception や System.SystemException を最上位の例外ハンドラ以外でキャッチするのは避けてください。 Applicati

    標準の例外の種類のキャッチとスロー
    AppleTea500ml
    AppleTea500ml 2011/04/17
    Exeption