Top / .NET備忘録 / 05.UserControl / 04.PropertyValueDictionary クラス

HelperForm クラスを使って、プロパティ値を登録する Dictionary を継承したクラスです。 Location, Size 等、AxHost からの継承メンバについては、Designer.vb で定義済みのはずなので無視することにします。

 using System;
 using System.Collections.Generic;
 using System.Reflection;
 using System.Windows.Forms;
 
 namespace GetOcxState
 {
     class PropertyValueDictionary : Dictionary<string, object>
     {
         public const BindingFlags declaredFlags = BindingFlags.Instance |
                                                   BindingFlags.Public |
                                                   BindingFlags.DeclaredOnly;
 
         public PropertyValueDictionary(Type ocxType, AxHost.State ocxState)
         {
             using (HelperForm Helper = new HelperForm(ocxType, ocxState))
             {
                 foreach (PropertyInfo info in ocxType.GetProperties(declaredFlags))
                 {
                     if (info.CanWrite && info.CanRead)
                     {
                         if (!base.ContainsKey(info.Name))
                         {
                             object value = Helper.GetPropertyValue(info);
                             base.Add(info.Name, value);
                         }
                     }
                 }
             }
         }
     }
 }



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2013-03-10 (日) 01:52:42 (1567d)