public object Eval()
{
Object[] argvals = new Object[_args.Count];
for (int i = 0; i < _args.Count; i++)
argvals[i] = _args[i].ArgExpr.Eval();
if ( _ctor != null )
return _ctor.Invoke(Reflector.BoxArgs(_ctor.GetParameters(),argvals)); // TODO: Deal with ByRef parameters
return Reflector.InvokeConstructor(_type,argvals);
}