こちらの続きです。
レイヤーの扱いを考える2 - C#ATIA
拡張メソッド用のクラスです。
//cs static class CatExtension { public static CatiaContainer State { get; set; } public static int GetLayer(this HybridShape hy) { State.Selection.Clear(); State.Selection.Add(hy); CatVisLayerType Layertype; int Layer; State.Selection.VisProperties.GetLayer(out Layertype, out Layer); return Layer; } }
ソース自体はVBAと大差無いです。単にGetLayerの戻り値をレイヤー番号に
しただけです。
静的クラスの拡張メソッド内で、Selectionを利用することに
なるのですが、静的クラスの場合フィールドを持たせる事が出来ないため、
仕方がないので、プロパティとしてCatiaContainerクラスのインスタンスを
持たせることにしてみました。
このような場合、プロの方とかはどのようにするものなのでしょう?