/// <param name="name">Method name</param> /// <param name="description">Description for current method</param> /// <param name="ret">Return value</param> /// <param name="arguments">Arguments of method</param> public MethodAttribute(string name, string description, CValueType ret = CValueType.Void, params CValueType[] args) { Name = name; Description = description; Return = ret; Arguments = args.Select(arg => new TArguments(arg)).ToArray(); }
/// <param name="name">Property name</param> /// <param name="description">Description for current property</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, string description, CValueType get = CValueType.Void, CValueType set = CValueType.Void) { Name = name; Description = description; Get = get; Set = set; }
/// <param name="name">Method name</param> /// <param name="description">Description for current method</param> /// <param name="argsName">Arguments of method by name</param> /// <param name="argsDesc">Description for arguments</param> /// <param name="ret">Return value</param> /// <param name="arguments">Arguments of method</param> public MethodAttribute(string name, string description, string[] argsName, string[] argsDesc, CValueType ret, params CValueType[] args) : this(name, description, ret, args) { if(argsName == null || argsDesc == null) { throw new InvalidArgumentException("null value is not valid for argsName/argsDesc"); } if(args.Length != argsName.Length || args.Length != argsDesc.Length) { throw new MismatchException("CValueType[] is not equal by count with argsName/argsDesc :: {0}", name); } Arguments = args.Select((arg, i) => new TArguments(arg, argsName[i], argsDesc[i])).ToArray(); }
/// <param name="name">Method name</param> /// <param name="description">Description for current method</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="argsName">Arguments of method by name</param> /// <param name="argsDesc">Description for arguments</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string description, string parent, string method, string[] argsName, string[] argsDesc, CValueType ret, params CValueType[] args) : this(name, description, argsName, argsDesc, ret, args) { Parent = parent; Method = method; }
/// <summary> /// Formatting of the property for displaying /// </summary> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> /// <returns></returns> private string displayProperty(CValueType get, CValueType set) { return(Name); }
/// <param name="name">Property name</param> /// <param name="description">Description for current property</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, string description, string parent, string method, CValueType get = CValueType.Void, CValueType set = CValueType.Void) : this(name, description, get, set) { Parent = parent; Method = method; }
/// <param name="name">Method name</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string parent, string method, CValueType ret = CValueType.Void, params CValueType[] args) : this(name, String.Empty, parent, method, ret, args) { }
/// <param name="name">Method name</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="argsName">Arguments of method by name</param> /// <param name="argsDesc">Description for arguments</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string parent, string method, string[] argsName, string[] argsDesc, CValueType ret, params CValueType[] args) : this(name, String.Empty, parent, method, argsName, argsDesc, ret, args) { }
/// <summary> /// Builds the technical description of the method /// </summary> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> /// <returns></returns> private string aboutMethod(CValueType ret, MethodAttribute.TArguments[] args) { string retString = _type(ret); if(args == null || args.Length < 1) { return String.Format("{0} {1}({2})\n", retString, Name, _type(CValueType.Void)); } if(args[0].name == null) { return String.Format("{0} {1}({2})", retString, Name, String.Join(", ", args.Select(p => _type(p.type)))); } string argsString = String.Join(", ", args.Select(p => String.Format("{0} {1}", _type(p.type), p.name))); string argsDescription = String.Join("\n* ", args.Select(p => String.Format("{0} - {1}", p.name, p.description))); return String.Format("{0} {1}({2})\n* {3}", retString, Name, argsString, argsDescription); }
/// <param name="name">Property name</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, CValueType get = CValueType.Void, CValueType set = CValueType.Void) : this(name, String.Empty, get, set) { }
/// <param name="name">Property name</param> /// <param name="description">Description for current property</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, string description, CValueType get = CValueType.Void, CValueType set = CValueType.Void) { Name = name; Description = description; Get = get; Set = set; }
/// <param name="name">Property name</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, string parent, string method, CValueType get = CValueType.Void, CValueType set = CValueType.Void) : this(name, String.Empty, parent, method, get, set) { }
/// <param name="name">Property name</param> /// <param name="description">Description for current property</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, string description, string parent, string method, CValueType get = CValueType.Void, CValueType set = CValueType.Void) : this(name, description, get, set) { Parent = parent; Method = method; }
/// <summary> /// Formatting the type for displaying /// </summary> /// <param name="type"></param> /// <returns></returns> private string _type(CValueType type) { return(type.ToString().ToLower()); }
/// <summary> /// Formatting of the method for displaying /// </summary> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> /// <returns></returns> private string displayMethod(CValueType ret, MethodAttribute.TArguments[] args) { string aStr = (args != null && args.Length > 0)? String.Join(", ", args.Select(p => p.name)) : _type(CValueType.Void); return(String.Format("{0}({1})", Name, aStr)); }
/// <param name="name">Method name</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="argsName">Arguments of method by name</param> /// <param name="argsDesc">Description for arguments</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string parent, string method, string[] argsName, string[] argsDesc, CValueType ret, params CValueType[] args) : this(name, String.Empty, parent, method, argsName, argsDesc, ret, args) { }
public TArguments(CValueType type, string name = "", string description = "") { this.type = type; this.name = name; this.description = description; }
/// <summary> /// Builds the technical description of the property /// </summary> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> /// <returns></returns> private string aboutProperty(CValueType get, CValueType set) { return String.Format("Get: {0}\nSet: {1}", _type(get), _type(set)); }
public TArguments(CValueType type, string name = "", string description = "") { this.type = type; this.name = name; this.description = description; }
/// <summary> /// Formatting of the method for displaying /// </summary> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> /// <returns></returns> private string displayMethod(CValueType ret, MethodAttribute.TArguments[] args) { string aStr = (args != null && args.Length > 0)? String.Join(", ", args.Select(p => p.name)) : _type(CValueType.Void); return String.Format("{0}({1})", Name, aStr); }
/// <param name="name">Method name</param> /// <param name="description">Description for current method</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string description, string parent, string method, CValueType ret = CValueType.Void, params CValueType[] args) : this(name, description, ret, args) { Parent = parent; Method = method; }
/// <summary> /// Formatting of the property for displaying /// </summary> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> /// <returns></returns> private string displayProperty(CValueType get, CValueType set) { return Name; }
/// <summary> /// Formatting the type for displaying /// </summary> /// <param name="type"></param> /// <returns></returns> private string _type(CValueType type) { return type.ToString().ToLower(); }
/// <param name="name">Method name</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string parent, string method, CValueType ret = CValueType.Void, params CValueType[] args) : this(name, String.Empty, parent, method, ret, args) { }
/// <param name="name">Property name</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, CValueType get = CValueType.Void, CValueType set = CValueType.Void) : this(name, String.Empty, get, set) { }
/// <param name="name">Method name</param> /// <param name="description">Description for current method</param> /// <param name="argsName">Arguments of method by name</param> /// <param name="argsDesc">Description for arguments</param> /// <param name="ret">Return value</param> /// <param name="args">Arguments of method</param> public MethodAttribute(string name, string description, string[] argsName, string[] argsDesc, CValueType ret, params CValueType[] args) : this(name, description, ret, args) { if (argsName == null || argsDesc == null) { throw new InvalidArgumentException("null value is not valid for argsName/argsDesc"); } if (args.Length != argsName.Length || args.Length != argsDesc.Length) { throw new MismatchException("CValueType[] is not equal by count with argsName/argsDesc :: {0}", name); } Arguments = args.Select((arg, i) => new TArguments(arg, argsName[i], argsDesc[i])).ToArray(); }
/// <param name="name">Property name</param> /// <param name="parent">Name of the parent specification (property/method/etc.) if exist or null</param> /// <param name="method">Actual/real method name of the parent specification if exist or null</param> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> public PropertyAttribute(string name, string parent, string method, CValueType get = CValueType.Void, CValueType set = CValueType.Void) : this(name, String.Empty, parent, method, get, set) { }
/// <summary> /// Builds the technical description of the property /// </summary> /// <param name="get">Value type for getting</param> /// <param name="set">Value type for setting</param> /// <returns></returns> private string aboutProperty(CValueType get, CValueType set) { return(String.Format("Get: {0}\nSet: {1}", _type(get), _type(set))); }