private static string GetCompanyName ()
{
Assembly assembly = Assembly.GetEntryAssembly ();
if (assembly == null)
assembly = Assembly.GetCallingAssembly ();
AssemblyCompanyAttribute [] attrs = (AssemblyCompanyAttribute []) assembly.GetCustomAttributes (typeof (AssemblyCompanyAttribute), true);
if ((attrs != null) && attrs.Length > 0) {
return attrs [0].Company;
}
#if !TARGET_JVM
MethodInfo entryPoint = assembly.EntryPoint;
Type entryType = entryPoint != null ? entryPoint.DeclaringType : null;
if (entryType != null && !String.IsNullOrEmpty (entryType.Namespace)) {
int end = entryType.Namespace.IndexOf ('.');
return end < 0 ? entryType.Namespace : entryType.Namespace.Substring (0, end);
}
return "Program";
#else
return assembly.GetName ().Name;
#endif
}