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

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

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

No.69886 の関連記事表示

<< 0 >>
■69886  プロパティの連動
□投稿者/ C#研究者 -(2014/02/06(Thu) 19:01:14)

    分類:[C#] 

    Windows7 32bit VSC#2010

    intとenumのプロパティとintの内部データをもったユーザーコントロールを作っています。
    ※質問と関係のないプロパティは略しております。

    以下のように作ったのですが、
    スイッチIDを変えたときにinfo(Enum型)のプロパティも変わっているのですが、
    デザイナでint側を変更したときにSWITCH_ID_INFOの値が変わらず、
    SWITCH_ID_INFOのプロパティをクリックしたときに値が変更します。

    int側を変更した際に、INFOプロパティを変化させるにはどうすればよいのでしょうか。
    また、このような内部で連動したプロパティを作ることがあまりないので、
    ここがまずいとか、ここはこうしたほうがいいという考えをお持ちの方は
    是非教えてくだされば幸いです。

    public partial class UserControl1 : UserControl
    {
    /// <summary>
    /// スイッチID
    /// </summary>
    private int _SwitchID;

    /// <summary>
    /// スイッチ構造体
    /// </summary>
    public SWITCH_ID_INFO info
    {
    set
    {
    _SwitchID = (int)value;
    }
    get
    {
    return (SWITCH_ID_INFO)_SwitchID;
    }
    }

    /// <summary>
    /// スイッチID
    /// </summary>
    public int SwtichID
    {
    set
    {
    _SwitchID = value ;
    info = (SWITCH_ID_INFO)SwtichID ;
    }

    get
    {
    return _SwitchID;
    }
    }

    public UserControl1()
    {
    InitializeComponent();
    }
    }
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69896  Re[1]: プロパティの連動
□投稿者/ 魔界の仮面弁士 -(2014/02/07(Fri) 09:32:55)
    2014/02/07(Fri) 09:38:18 編集(投稿者)

    No69886 (C#研究者 さん) に返信
    > Windows7 32bit VSC#2010
    VSC#…?


    > 以下のように作ったのですが、
    public int SwtichID プロパティを
    private int _SwitchID フィールドで管理するのは分かりますが、
    public SWITCH_ID_INFO info プロパティまでも
    private int _SwitchID フィールドで管理しているようですね。


    > _SwitchID = (int)value;
    このキャストが良くわかりませんでした。
    コメントで「/// スイッチ構造体」と書かれているということは、
    SWITCH_ID_INFO は enum(列挙型)ではなく、struct(構造体)なのですよね。
    SWITCH_ID_INFO 構造体に、Int32 構造体への型変換演算子を実装してあるのですか?


    > スイッチIDを変えたときにinfo(Enum型)のプロパティも変わっているのですが、
    > デザイナでint側を変更したときにSWITCH_ID_INFOの値が変わらず、
    > SWITCH_ID_INFOのプロパティをクリックしたときに値が変更します。
    とりあえず RefreshPropertiesAttribute とか。
記事No.69886 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69900  Re[2]: プロパティの連動
□投稿者/ C#研究者 -(2014/02/07(Fri) 17:37:59)
    2014/02/07(Fri) 17:39:41 編集(投稿者)

    教えてくださりありがとうございます。
    また後日確認します。

    VS

    →VisualBasicの略です。

    構造体

    →ではなくて、enum型です。古いコメントが残っておりました。
     申し訳ありません。

    急用ができてしまったので、
    また後日確認したいと思います。
記事No.69886 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69903  Re[3]: プロパティの連動
□投稿者/ C#研究者 -(2014/02/07(Fri) 20:56:26)
    時間ができたので確認しました。
    RefreshPropertiesAttributeを追加してできました。

    enum型にプロパティを切り替えようとしたら、すでにint型のプロパティにいろいろつないでいたので、
    両方プロパティを残すようにしたいと考えております。
    これでなんとかなりそうです。
記事No.69886 のレス / END /過去ログ119より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -