/// <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;
 }
예제 #5
0
 /// <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)
 {
 }
예제 #9
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(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;
 }
예제 #14
0
 /// <summary>
 /// Formatting the type for displaying
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 private string _type(CValueType type)
 {
     return(type.ToString().ToLower());
 }
예제 #15
0
        /// <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;
 }
예제 #18
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(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;
 }
예제 #20
0
 /// <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;
 }
예제 #22
0
 /// <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;
 }
예제 #23
0
 /// <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)
 {
 }
예제 #28
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(CValueType get, CValueType set)
 {
     return(String.Format("Get: {0}\nSet: {1}", _type(get), _type(set)));
 }