• ABOUT
  • SITE POLICY
  • AGREEMENT
  • JP
  • SIGN IN:
  • SIGN IN:
GH C#_データ管理にDictionaryを利用する
by Hiroaki Saito Jan 17, 2018

GetDictionaryData.gif

データ管理にDictionaryを利用する(GitHub Gistに飛びます)

C# Component間でデータをやり取りする際、独自に用意したクラスで作成したオブジェクトを受け渡すことは仕様上できません。
(Visual Studioによる独自のコンポーネント開発であれば可能です。)

ツールを開発する際、一つのコンポーネントで全てを行う作り方もありますが、規模が大きくなってくるとそうも行かずいくつかのコンポーネントに切り分けながら開発することがあります。
最早そうなればしっかりコードを管理できるVisual Studioでやるべきだ・・・という意見は重々理解しているのですが。
クラスの代わりにデータを束にしてまとめることができる方法は何かないかなと考えて至ったのがDictionary型データを利用する方法でした。

複数のデータを一つのDictionaryに閉じ込んで出力し、それを受け取ったコンポーネントでDictionaryの中のデータを取得します。
取得したいデータをValue Listで指定できるGet DataコンポーネントはDictionary型のデータであれば何でも受け取ることができます。

実際にこういう感じで使っています。
Sample.PNG

180312_追記
Listに格納するよりもGH_ObjectWrapperというクラスを使ってラップする方が一般的なようです。結果は同じですがVSでもこの書き方がよく見られます。
cap_GHObjectWrapper.PNG


コメントをするにはログインしてください。

14109 0
Tags
#Grasshopper #C# #Dictionary
License
cc_by_sa
GNU GPL

CONTACT ©2025 NIKKEN SEKKEI LTD.