Пример #1
0
 public static TResult Match <TResult>(this PurityAnalyzer.MethodDescriptor instance, System.Func <PurityAnalyzer.MethodDescriptor.ByNameAndParameterTypes, TResult> byNameAndParameterTypesCase, System.Func <PurityAnalyzer.MethodDescriptor.ByName, TResult> byNameCase)
 {
     if (instance is PurityAnalyzer.MethodDescriptor.ByNameAndParameterTypes byNameAndParameterTypes)
     {
         return(byNameAndParameterTypesCase(byNameAndParameterTypes));
     }
     if (instance is PurityAnalyzer.MethodDescriptor.ByName byName)
     {
         return(byNameCase(byName));
     }
     throw new System.Exception("Invalid MethodDescriptor type");
 }
Пример #2
0
        public static void Match(this PurityAnalyzer.MethodDescriptor instance, System.Action <PurityAnalyzer.MethodDescriptor.ByNameAndParameterTypes> byNameAndParameterTypesCase, System.Action <PurityAnalyzer.MethodDescriptor.ByName> byNameCase)
        {
            if (instance is PurityAnalyzer.MethodDescriptor.ByNameAndParameterTypes byNameAndParameterTypes)
            {
                byNameAndParameterTypesCase(byNameAndParameterTypes);
                return;
            }

            if (instance is PurityAnalyzer.MethodDescriptor.ByName byName)
            {
                byNameCase(byName);
                return;
            }

            throw new System.Exception("Invalid MethodDescriptor type");
        }