Ejemplo n.º 1
0
 /// <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, CValType get = CValType.Void, CValType set = CValType.Void)
 {
     Name        = name;
     Description = description;
     Get         = get;
     Set         = set;
 }
Ejemplo n.º 2
0
 /// <param name="name">Method name.</param>
 /// <param name="description">Description for current method.</param>
 /// <param name="ret">Return value.</param>
 /// <param name="args">Arguments of method.</param>
 public MethodAttribute(string name, string description, CValType ret = CValType.Void, params CValType[] args)
 {
     Name        = name;
     Description = description;
     Return      = ret;
     Arguments   = args.Select(arg => new TArgument(arg)).ToArray();
 }
Ejemplo n.º 3
0
        /// <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(CValType ret, TArgument[] args)
        {
            string retString = _t(ret);

            if (args == null || args.Length < 1)
            {
                return(string.Format("{0} {1}({2})\n", retString, Name, _t(CValType.Void)));
            }

            if (args[0].name == null)
            {
                return(string.Format("{0} {1}({2})", retString, Name, string.Join(", ", args.Select(p => _t(p.type)))));
            }

            string argsString      = string.Join(", ", args.Select(p => string.Format("{0} {1}", _t(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));
        }
Ejemplo n.º 4
0
 public TArgument(CValType type, string name = "", string description = "")
 {
     this.type        = type;
     this.name        = name;
     this.description = description;
 }
Ejemplo n.º 5
0
 /// <param name="name">Property name.</param>
 /// <param name="parent">Name of the parent specification (property/method/etc.) if exists or null.</param>
 /// <param name="method">Actual/real method name of the parent specification if exists 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, CValType get = CValType.Void, CValType set = CValType.Void)
     : this(name, string.Empty, parent, method, get, set)
 {
 }
Ejemplo n.º 6
0
 /// <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 exists or null.</param>
 /// <param name="method">Actual/real method name of the parent specification if exists 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, CValType get = CValType.Void, CValType set = CValType.Void)
     : this(name, description, get, set)
 {
     Parent = parent;
     Method = method;
 }
Ejemplo n.º 7
0
 /// <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, CValType get = CValType.Void, CValType set = CValType.Void)
     : this(name, string.Empty, get, set)
 {
 }
Ejemplo n.º 8
0
 /// <param name="name">Method name.</param>
 /// <param name="parent">Name of the parent specification (property/method/etc.) if exists or null.</param>
 /// <param name="method">Actual/real method name of the parent specification if exists 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, CValType ret, params CValType[] args)
     : this(name, string.Empty, parent, method, argsName, argsDesc, ret, args)
 {
 }
Ejemplo n.º 9
0
 /// <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 exists or null.</param>
 /// <param name="method">Actual/real method name of the parent specification if exists 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, CValType ret, params CValType[] args)
     : this(name, description, argsName, argsDesc, ret, args)
 {
     Parent = parent;
     Method = method;
 }
Ejemplo n.º 10
0
        /// <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, CValType ret, params CValType[] args)
            : this(name, description, ret, args)
        {
            if (argsName == null || argsDesc == null)
            {
                throw new ArgumentException($"null value is not valid for {nameof(argsName)}/{nameof(argsDesc)}");
            }

            if (args.Length != argsName.Length || args.Length != argsDesc.Length)
            {
                throw new MismatchException($"CValueType[] is not equal by count with argsName/argsDesc :: {name}");
            }

            Arguments = args.Select((arg, i) => new TArgument(arg, argsName[i], argsDesc[i])).ToArray();
        }
Ejemplo n.º 11
0
 /// <param name="name">Method name.</param>
 /// <param name="parent">Name of the parent specification (property/method/etc.) if exists or null.</param>
 /// <param name="method">Actual/real method name of the parent specification if exists or null.</param>
 /// <param name="ret">Return value.</param>
 /// <param name="args">Arguments of method.</param>
 public MethodAttribute(string name, string parent, string method, CValType ret = CValType.Void, params CValType[] args)
     : this(name, string.Empty, parent, method, ret, args)
 {
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Formatting of the type.
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 private string _t(CValType type) => type.ToString().ToLower();
Ejemplo n.º 13
0
        /// <summary>
        /// Formatting of the method.
        /// </summary>
        /// <param name="ret">Return value.</param>
        /// <param name="args">Arguments of method.</param>
        /// <returns></returns>
        private string DisplayMethod(CValType ret, TArgument[] args)
        {
            string aStr = (args != null && args.Length > 0)? string.Join(", ", args.Select(p => p.name)) : _t(CValType.Void);

            return($"{Name}({aStr})");
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Formatting of the property.
 /// </summary>
 /// <param name="get">Value type for getting.</param>
 /// <param name="set">Value type for setting.</param>
 /// <returns></returns>
 private string DisplayProperty(CValType get, CValType set)
 {
     return(Name);
 }
Ejemplo n.º 15
0
 /// <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(CValType get, CValType set)
 => $"Get: {_t(get)}\nSet: {_t(set)}";