コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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 += ")";
        }