Exemplo n.º 1
0
 /// <summary>
 /// インナークラスを追加します。
 /// </summary>
 /// <param name="klass">追加するクラス</param>
 internal void AddInnerClass(KecaknoahInteropClassInfo klass)
 {
     if (inners.Any(p => p.Name == klass.Name))
     {
         throw new ArgumentException("同じ名前のインナークラスがすでに存在します。");
     }
     inners.Add(klass);
 }
Exemplo n.º 2
0
 /// <summary>
 /// .NET上のKecaknoah連携クラスを登録します。
 /// </summary>
 /// <param name="klass"></param>
 public void RegisterClass(KecaknoahInteropClassInfo klass)
 {
     classes.Add(klass);
     classReferences.Add(KecaknoahReference.CreateRightReference(new KecaknoahInteropClassObject(klass)));
 }
Exemplo n.º 3
0
 /// <summary>
 /// インナークラスを追加します。
 /// </summary>
 /// <param name="klass">追加するクラス</param>
 internal void AddInnerClass(KecaknoahInteropClassInfo klass)
 {
     if (inners.Any(p => p.Name == klass.Name)) throw new ArgumentException("同じ名前のインナークラスがすでに存在します。");
     inners.Add(klass);
 }
Exemplo n.º 4
0
 /// <summary>
 /// .NET上のKecaknoah連携クラスを登録します。
 /// </summary>
 /// <param name="klass"></param>
 public void RegisterClass(KecaknoahInteropClassInfo klass)
 {
     classes.Add(klass);
     classReferences.Add(KecaknoahReference.CreateRightReference(new KecaknoahInteropClassObject(klass)));
 }
 /// <summary>
 /// 指定した列挙体から同等の<see cref="KecaknoahInteropClassInfo"/>を作成します。
 /// </summary>
 /// <param name="enumType">作成する列挙体の<see cref="System.Type"/>オブジェクト</param>
 /// <returns></returns>
 public static KecaknoahInteropClassInfo CreateFromEnum(System.Type enumType)
 {
     var type = enumType;
     var result = new KecaknoahInteropClassInfo(type.Name);
     var names = Enum.GetNames(type);
     foreach (var i in names)
     {
         var val = (int)Enum.Parse(type, i);
         result.AddConstant(i, val.AsKecaknoahInteger());
     }
     return result;
 }