Пример #1
0
		public bool CanCallWith(IEnumerable<Variable> vars)
		{
			using(var var_enum = vars.GetEnumerator())
			using(var sig_enum = ParamTypes.GetEnumerator())
			{
				bool more_vars = false;
				bool more_sig =false;
				while(   (more_sig = sig_enum.MoveNext()) 
				      && (more_vars = var_enum.MoveNext())
				      && sig_enum.Current.IsAssignableFrom(var_enum.Current.Type));
				if(more_sig || more_vars)
					return false;
			}
			return true;
		}