public Parameter(Type type, string typeName, object obj, string name) { this.type = type; this.typeName = typeName; this.obj = obj; this.name = name; var ms = type.GetFields().Where(t => !t.IsStatic).ToList(); childs = new List <ChildParam>(ms.Count()); foreach (var m in ms) { var ct = m.FieldType; var tn = StringChanger.Change(m.FieldType.Name); var cn = m.Name; var co = m.GetValue(obj); childs.Add(new ChildParam(ct, tn, co, cn, m)); } }
public MethodTesterInfo(MethodInfo info) { MethodName = info.Name; isCoroutine = info.ReturnType.Name == "IEnumerator"; var paramList = info.GetParameters(); foreach (var param in paramList) { string typeName = StringChanger.Change(param.ParameterType.Name); object defaultValue = null; if (param.HasDefaultValue) { defaultValue = param.DefaultValue; } else if (param.ParameterType.Name == "String") { defaultValue = ""; } else if (param.ParameterType.GetConstructor(Type.EmptyTypes) != null || param.ParameterType.IsValueType) { defaultValue = Activator.CreateInstance(param.ParameterType); } list.Add(new Parameter(param.ParameterType, typeName, defaultValue, param.Name)); } ViewString = "<color=blue>" + info.ReturnType.Name + "</color> " + info.Name + "("; foreach (var p in list) { ViewString += "<color=blue>" + p.typeName + "</color> " + p.name + ","; } if (paramList.Length > 0) { ViewString = ViewString.Remove(ViewString.Length - 1); } ViewString += ")"; }