private static string GetTypeName(Type type, NamespaceFormat namespaceFormat) { if (!string.IsNullOrEmpty(type.Namespace) && !IgnoreNamespace(type, namespaceFormat)) { return(type.Namespace + "." + FormatTypeName(type, namespaceFormat)); } return(FormatTypeName(type, namespaceFormat)); }
/// <summary> /// Loads an embedded resource. /// </summary> /// <param name="folder">Top-level folder to load resource from.</param> /// <param name="fileName">File name of resource.</param> /// <returns>Stream of resource file contents.</returns> protected override Stream GetResourceStream(string folder, string fileName) { var nameSpace = NamespaceFormat.FormatWithCulture(folder, fileName); var assembly = Assembly.GetExecutingAssembly(); var resourceStream = assembly.GetManifestResourceStream(nameSpace); if (resourceStream == null) { throw new FileNotFoundException(string.Format("Embedded resource '{0}' was not found.", nameSpace)); } return(resourceStream); }
private static bool IgnoreNamespace(Type type, NamespaceFormat namespaceFormat) { if (namespaceFormat == NamespaceFormat.All) { return(false); } switch (type.Namespace) { case "System": case "System.Collections.Generic": return(namespaceFormat == NamespaceFormat.ExcludeSystem); } return(namespaceFormat == NamespaceFormat.None); }
private static string FormatTypeName(Type type, NamespaceFormat namespaceFormat) { if (!type.IsGenericType) { return(type.Name); } var sb = new StringBuilder(); var gname = type.Name; var tildePos = gname.IndexOf('`'); if (tildePos != -1) { gname = gname.Substring(0, tildePos); } bool first = false; sb.AppendFormat("{0}<", gname); foreach (Type arg in type.GetGenericArguments()) { if (!first) { first = true; } else { sb.Append(", "); } sb.Append(GetTypeName(arg, namespaceFormat)); } sb.Append(">"); return(sb.ToString()); }
public static string GetMethodSignature(MethodBase method, bool includeDeclaringType, bool includeParameterNames, NamespaceFormat namespaceFormat) { var sb = new StringBuilder(); var first = false; if (!method.IsConstructor) { sb.Append(GetTypeName(((MethodInfo)method).ReturnType, namespaceFormat)); sb.Append(' '); } if (includeDeclaringType) { sb.Append(GetTypeName(method.DeclaringType, namespaceFormat)); sb.Append('.'); } sb.Append(method.Name); sb.Append('('); foreach (var param in method.GetParameters()) { if (!first) { first = true; } else { sb.Append(", "); } var typename = GetTypeName(param.ParameterType, namespaceFormat); if (typename.EndsWith("&")) { typename = typename.Substring(0, typename.Length - 1); sb.Append("out "); } sb.Append(typename); if (includeParameterNames) { sb.Append(' '); sb.Append(param.Name); } } sb.Append(")"); var methodSignature = sb.ToString(); return(methodSignature); }