internal static string GetAssemblyName(this Version version) { Debug.Assert(version.IsValid()); Type t = typeof(Version); FieldInfo fi = t.GetField(version.ToString()); VersionAttribute attr = (VersionAttribute)Attribute.GetCustomAttribute(t.GetField(version.ToString()), typeof(VersionAttribute)); return(attr.AssemblyName); }
private static Version GetPythonVersion(int major, int minor) { Type t = typeof(Version); foreach (Version version in Enum.GetValues(t)) { FieldInfo fi = t.GetField(version.ToString()); VersionAttribute attr = (VersionAttribute)Attribute.GetCustomAttribute(t.GetField(version.ToString()), typeof(VersionAttribute)); if (attr?.Major == major && attr?.Minor == minor) { return(version); } } return(Version.Auto); }