public static void SetSignatureInRegistry(string signatureName, SignatureTypes signatureType, int officeVersion) { var keyName = $"Software\\Microsoft\\Office\\{officeVersion}.0\\Common\\MailSettings"; var registryKey = Registry.CurrentUser.OpenSubKey(keyName, true) ?? throw new Exception($"The key HKCU:\\{keyName} was not found."); if (signatureType == (SignatureTypes.NewSignature | SignatureTypes.ReplySignature)) { registryKey.SetValue(nameof(SignatureTypes.NewSignature), signatureName, RegistryValueKind.String); registryKey.SetValue(nameof(SignatureTypes.ReplySignature), signatureName, RegistryValueKind.String); } registryKey.SetValue(signatureType.ToString(), signatureName, RegistryValueKind.String); }
public static string SomeMethod(this SignatureTypes enumValue) { FieldInfo fieldInfo = enumValue.GetType().GetField(enumValue.ToString()); if (fieldInfo == null) { return(null); } var attribute = (DescriptionAttribute)fieldInfo.GetCustomAttribute(typeof(DescriptionAttribute)); return(attribute.Description); }