Changeset 3322

Show
Ignore:
Timestamp:
12/19/07 18:42:12 (5 years ago)
Author:
PoohKid
Message:

interfaceまで含めた挙動まとめ

Location:
lang/csharp/2.0/Util/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/csharp/2.0/Util/trunk/UnitTest/UtilTest.cs

    r3286 r3322  
    4141            Type tc = Type.GetType("CodeRepos.Class_C"); 
    4242 
    43             Assert.AreEqual(Util.TypeIs(ta, typeof(Class_A)), true); 
    44             Assert.AreEqual(Util.TypeIs(ta, typeof(Interface_1)), true); 
     43            Type i1 = Type.GetType("CodeRepos.Interface_1"); 
     44            Type i2 = Type.GetType("CodeRepos.Interface_2"); 
     45            Type i3 = Type.GetType("CodeRepos.Interface_3"); 
    4546 
    46             Assert.AreEqual(Util.TypeIs(tb, typeof(Class_A)), true); 
    47             Assert.AreEqual(Util.TypeIs(tb, typeof(Interface_1)), true); 
    48             Assert.AreEqual(Util.TypeIs(tb, typeof(Class_B)), true); 
    49             Assert.AreEqual(Util.TypeIs(tb, typeof(Interface_2)), true); 
     47            Boolean br; 
     48            br = typeof(Class_A).IsInterface;       // 
     49            br = typeof(Class_B).IsInterface;       // 
     50            br = typeof(Class_C).IsInterface;       // 
     51            br = typeof(Interface_1).IsInterface;   //true 
     52            br = typeof(Interface_2).IsInterface;   //true 
     53            br = typeof(Interface_3).IsInterface;   //true 
    5054 
    51             Assert.AreEqual(Util.TypeIs(tc, typeof(Class_A)), false); 
    52             Assert.AreEqual(Util.TypeIs(tc, typeof(Interface_1)), false); 
    53             Assert.AreEqual(Util.TypeIs(tc, typeof(Class_B)), false); 
    54             Assert.AreEqual(Util.TypeIs(tc, typeof(Interface_2)), false); 
    55             Assert.AreEqual(Util.TypeIs(tc, typeof(Class_C)), true); 
     55            /** 
     56             * ta 
     57             */ 
     58 
     59            br = ta.Equals(typeof(Class_A));                                        //true 
     60            br = ta.IsSubclassOf(typeof(Class_A));                                  // 
     61            br = new List<Type>(ta.GetInterfaces()).Contains(typeof(Class_A));      // 
     62 
     63            br = ta.Equals(typeof(Interface_1));                                    // 
     64            br = ta.IsSubclassOf(typeof(Interface_1));                              // 
     65            br = new List<Type>(ta.GetInterfaces()).Contains(typeof(Interface_1));  //true 
     66 
     67            //Assert.AreEqual(typeof(Class_A).IsInterface, false); 
     68            //Assert.AreEqual(ta.Equals(typeof(Class_A)), true); 
     69            //Assert.AreEqual(ta.IsSubclassOf(typeof(Class_A)), false); 
     70            //Assert.AreEqual(new List<Type>(ta.GetInterfaces()).Contains(typeof(Class_A)), false); 
     71 
     72            //Assert.AreEqual(typeof(Interface_1).IsInterface, true); 
     73            //Assert.AreEqual(ta.Equals(typeof(Interface_1)), false); 
     74            //Assert.AreEqual(ta.IsSubclassOf(typeof(Interface_1)), false); 
     75            //Assert.AreEqual(new List<Type>(ta.GetInterfaces()).Contains(typeof(Interface_1)), true); 
     76 
     77            /** 
     78             * tb 
     79             */ 
     80 
     81            br = tb.Equals(typeof(Class_A));                                        // 
     82            br = tb.IsSubclassOf(typeof(Class_A));                                  //true 
     83            br = new List<Type>(tb.GetInterfaces()).Contains(typeof(Class_A));      // 
     84 
     85            br = tb.Equals(typeof(Interface_1));                                    // 
     86            br = tb.IsSubclassOf(typeof(Interface_1));                              // 
     87            br = new List<Type>(tb.GetInterfaces()).Contains(typeof(Interface_1));  //true 
     88 
     89            br = tb.Equals(typeof(Class_B));                                        //true 
     90            br = tb.IsSubclassOf(typeof(Class_B));                                  // 
     91            br = new List<Type>(tb.GetInterfaces()).Contains(typeof(Class_B));      // 
     92 
     93            br = tb.Equals(typeof(Interface_2));                                    // 
     94            br = tb.IsSubclassOf(typeof(Interface_2));                              // 
     95            br = new List<Type>(tb.GetInterfaces()).Contains(typeof(Interface_2));  //true 
     96 
     97            //Assert.AreEqual(typeof(Class_A).IsInterface, false); 
     98            //Assert.AreEqual(tb.IsSubclassOf(typeof(Class_A)), true); 
     99 
     100            //Assert.AreEqual(typeof(Interface_1).IsInterface, true); 
     101            //Assert.AreEqual(tb.IsSubclassOf(typeof(Interface_1)), true); 
     102 
     103            //Assert.AreEqual(typeof(Class_A).IsInterface, false); 
     104            //Assert.AreEqual(tb.IsSubclassOf(typeof(Class_B)), true); 
     105 
     106            //Assert.AreEqual(typeof(Interface_2).IsInterface, true); 
     107            //Assert.AreEqual(tb.IsSubclassOf(typeof(Interface_2)), true); 
     108 
     109            /** 
     110             * tc 
     111             */ 
     112 
     113            br = tc.Equals(typeof(Class_A));                                        // 
     114            br = tc.IsSubclassOf(typeof(Class_A));                                  // 
     115            br = new List<Type>(tc.GetInterfaces()).Contains(typeof(Class_A));      // 
     116 
     117            br = tc.Equals(typeof(Interface_1));                                    // 
     118            br = tc.IsSubclassOf(typeof(Interface_1));                              // 
     119            br = new List<Type>(tc.GetInterfaces()).Contains(typeof(Interface_1));  // 
     120 
     121            br = tc.Equals(typeof(Class_B));                                        // 
     122            br = tc.IsSubclassOf(typeof(Class_B));                                  // 
     123            br = new List<Type>(tc.GetInterfaces()).Contains(typeof(Class_B));      // 
     124 
     125            br = tc.Equals(typeof(Interface_2));                                    // 
     126            br = tc.IsSubclassOf(typeof(Interface_2));                              // 
     127            br = new List<Type>(tc.GetInterfaces()).Contains(typeof(Interface_2));  // 
     128 
     129            br = tc.Equals(typeof(Class_C));                                        //true 
     130            br = tc.IsSubclassOf(typeof(Class_C));                                  // 
     131            br = new List<Type>(tc.GetInterfaces()).Contains(typeof(Class_C));      // 
     132 
     133            //Assert.AreEqual(tc.IsSubclassOf(typeof(Class_A)), false); 
     134            //Assert.AreEqual(tc.IsSubclassOf(typeof(Interface_1)), false); 
     135            //Assert.AreEqual(tc.IsSubclassOf(typeof(Class_B)), false); 
     136            //Assert.AreEqual(tc.IsSubclassOf(typeof(Interface_2)), false); 
     137 
     138            //Assert.AreEqual(typeof(Class_C).IsInterface, false); 
     139            //Assert.AreEqual(tc.Equals(typeof(Class_C)), true); 
     140            //Assert.AreEqual(tc.IsSubclassOf(typeof(Class_C)), false); 
     141 
     142            /** 
     143             * i1 
     144             */ 
     145            br = i1.Equals(typeof(Interface_1));                                    //true 
     146            br = i1.IsSubclassOf(typeof(Interface_1));                              // 
     147            br = new List<Type>(i1.GetInterfaces()).Contains(typeof(Interface_1));  // 
     148 
     149            /** 
     150             * i2 
     151             */ 
     152            br = i2.Equals(typeof(Interface_2));                                    //true 
     153            br = i2.IsSubclassOf(typeof(Interface_2));                              // 
     154            br = new List<Type>(i2.GetInterfaces()).Contains(typeof(Interface_2));  // 
     155 
     156            /** 
     157             * i3 
     158             */ 
     159            br = i3.Equals(typeof(Interface_1));                                    // 
     160            br = i3.IsSubclassOf(typeof(Interface_1));                              // 
     161            br = new List<Type>(i3.GetInterfaces()).Contains(typeof(Interface_1));  //true 
     162 
     163            br = i3.Equals(typeof(Interface_3));                                    //true 
     164            br = i3.IsSubclassOf(typeof(Interface_3));                              // 
     165            br = new List<Type>(i3.GetInterfaces()).Contains(typeof(Interface_3));  // 
     166 
     167            //Assert.AreEqual(Util.TypeIs(ta, typeof(Class_A)), true); 
     168            //Assert.AreEqual(Util.TypeIs(ta, typeof(Interface_1)), true); 
     169 
     170            //Assert.AreEqual(Util.TypeIs(tb, typeof(Class_A)), true); 
     171            //Assert.AreEqual(Util.TypeIs(tb, typeof(Interface_1)), true); 
     172            //Assert.AreEqual(Util.TypeIs(tb, typeof(Class_B)), true); 
     173            //Assert.AreEqual(Util.TypeIs(tb, typeof(Interface_2)), true); 
     174 
     175            //Assert.AreEqual(Util.TypeIs(tc, typeof(Class_A)), false); 
     176            //Assert.AreEqual(Util.TypeIs(tc, typeof(Interface_1)), false); 
     177            //Assert.AreEqual(Util.TypeIs(tc, typeof(Class_B)), false); 
     178            //Assert.AreEqual(Util.TypeIs(tc, typeof(Interface_2)), false); 
     179            //Assert.AreEqual(Util.TypeIs(tc, typeof(Class_C)), true); 
    56180        } 
    57181    } 
     
    64188     * classC 
    65189     *  
     190     * interface3, interface1 
     191     *  
    66192     */ 
    67193    public interface Interface_1 { } 
     
    70196    public class Class_B : Class_A, Interface_2 { } 
    71197    public class Class_C { } 
     198    public interface Interface_3 : Interface_1 { } 
    72199} 
  • lang/csharp/2.0/Util/trunk/Util.cs

    r3286 r3322  
    77    public class Util 
    88    { 
    9         public static bool TypeIs(Type t1, Type t2) 
     9        public static Boolean TypeIs(Type t1, Type t2) 
    1010        { 
    1111            return false;