>public bool PemStatus(object o, string name, string PEM) >{ > switch (PEM.ToUpper()) > { > case "P" : > System.Reflection.PropertyInfo pi = o.GetType().GetProperty(name); > if (pi == null) > return false; > else > return true; > case "E" : > System.Reflection.EventInfo ei = o.GetType().GetEvent(name); > if (ei == null) > return false; > else > return true; > case "M" : > System.Reflection.MethodInfo mi = o.GetType().GetMethod(name); > if (mi == null) > return false; > else > return true; > default : > return false; > } >} >>And the code to call it:
>if (this.PemStatus(oObject, "SetFilter", "M")) >{ > // You didn't say if this method call required any parameters, but if it does, > // they need to be passed in as an array of objects. > object[] parms = new object[1]; > parms[0] = "MyParm"; > MyFilter = (string)oObject.GetType().GetMethod("SetFilter").Invoke(oObject, parms); >} >>I still like interfaces better!!! <g>