Exemplo n.º 1
0
        /***************************************************/
        /**** Public Methods                            ****/
        /***************************************************/

        public static string Url(this Type type)
        {
            if (type == null)
            {
                return(null);
            }

            Assembly ass = type.Assembly;

            if (ass == null)
            {
                return(null);
            }

            AssemblyUrlAttribute att = ass.GetCustomAttribute <AssemblyUrlAttribute>();

            if (att == null)
            {
                return(null);
            }

            string url = att.Url;

            if (url == "")
            {
                return(null);
            }

            List <string> path = new List <string>()
            {
                url, "blob/master/"
            };

            path.Add(ass.GetName().Name);
            path.AddRange(type.Namespace.Split('.').Skip(3));
            if (type.IsEnum)
            {
                path.Add("Enums");
            }
            else if (type.IsInterface)
            {
                path.Add("Interface");
            }
            path.Add(type.Name + ".cs");
            url = System.IO.Path.Combine(path.ToArray());

            return(url);
        }
Exemplo n.º 2
0
        /***************************************************/

        public static string Url(this MethodBase method)
        {
            if (method == null)
            {
                return(null);
            }

            Assembly ass = method.DeclaringType.Assembly;

            if (ass == null)
            {
                return(null);
            }

            AssemblyUrlAttribute att = ass.GetCustomAttribute <AssemblyUrlAttribute>();

            if (att == null)
            {
                return(null);
            }

            string url = att.Url;

            List <string> path = new List <string>()
            {
                url, "blob/master/"
            };

            path.Add(ass.GetName().Name);
            path.AddRange(method.DeclaringType.Namespace.Split('.').Skip(3));
            path.Add(method.DeclaringType.Name);
            path.Add(method.Name + ".cs");
            url = System.IO.Path.Combine(path.ToArray());

            return(url);
        }