コード例 #1
0
 public static void GiveFood(Mammal mammal)
 {
     for (
         var currentType = mammal.GetType();
         typeof(Mammal).IsAssignableFrom(currentType);
         currentType = currentType.BaseType)
     {
         if (map.ContainsKey(currentType))
         {
             map[currentType](mammal);
             return;
         }
     }
     DefaultGiveFood(mammal);
 }
コード例 #2
0
 public static void GiveFood(Mammal mammal)
 {
     map[mammal.GetType()](mammal);
 }