示例#1
0
		public static object ConvertFromBELObjectIfNeeded(IBELObject obj)
		{
			if (obj is BELDateTime)
				return (obj as BELDateTime).DateTime;
			if (obj is BELTimeSpan)
				return (obj as BELTimeSpan).TimeSpan;
			if (obj is BELBoolean)
				return (obj as BELBoolean).Value;
			if (obj is BELInteger)
				return (obj as BELInteger).Value;
			if (obj is BELString)
				return (obj as BELString).Value;
			if (obj is BELArray)
				return (obj as BELArray).Array;
			if (obj is UndefinedObject)
				return null;
			if (obj is BELType)
				return (obj as BELType).CLRType;
			return obj;
		}
示例#2
0
//		public bool Contains(string symbol)
//		{
//			return _Table.Contains(symbol);
//		}

		public void Set(string symbol, IBELObject val)
		{
			_Table[symbol] = val;
		}
示例#3
0
		public void AddParameter(string symbol, IBELObject val)
		{
			_Table[symbol] = val;
		}
 public IBELObject EvaluateWithReceiver(ExecutionContext ctx, IBELObject receiver)
 {
     ArrayList args = new ArrayList();
     foreach (object x in AllArgs)
         args.Add(x);
     IBELObject answer = receiver.ValueOf(FullMethodName, args, ctx);
     if (answer == null)
         throw NoSuchMemberException.ForMemberAndType(Location, FullMethodName, BELType.ExternalTypeNameForType(receiver.GetType()));
     return answer;
 }