コード例 #1
0
 private static IBinding GetMemberBinding(SmalltalkRuntime runtime, string name, bool ignoreCase, out bool caseConflict)
 {
     if (ignoreCase)
     {
         IBinding result = null;
         caseConflict = true;
         foreach (IDiscreteGlobalBinding binding in runtime.Globals.Values)
         {
             if (binding.Name.Value.Equals(name, StringComparison.InvariantCultureIgnoreCase))
             {
                 if (result == null)
                 {
                     result = binding;
                 }
                 else
                 {
                     return(null); // caseConflict
                 }
             }
         }
         caseConflict = false;
         return(result);
     }
     else
     {
         IDiscreteGlobalBinding binding;
         runtime.Globals.TryGetValue(name, out binding);
         caseConflict = false;
         return(binding);
     }
 }
コード例 #2
0
 public SmalltalkRuntimeDynamicMetaObject(Expression expression, BindingRestrictions restrictions, SmalltalkRuntime runtime)
     : base(expression, restrictions, runtime)
 {
     if (runtime == null)
     {
         throw new ArgumentNullException("runtime");
     }
     this.Runtime = runtime;
 }