public static string value_name(this object obj) { var type = obj.GetType(); FriendlyNameAttribute attr = FriendlyNameAttribute.Empty; if (type.IsEnum) { attr = (obj as Enum).GetAttribute <FriendlyNameAttribute>(); } return(attr == FriendlyNameAttribute.Empty ? obj.ToString() : attr.Name); }
/// <summary> /// Helper to get the FriendlyName from the FriendlyNameAttribute on logger plugin. /// </summary> /// <param name="testLoggerType">Data type of the test logger</param> /// <returns>FriendlyName identifying the test logger</returns> private static string GetFriendlyName(Type testLoggerType) { string friendlyName = string.Empty; object[] attributes = testLoggerType.GetTypeInfo().GetCustomAttributes(typeof(FriendlyNameAttribute), false).ToArray(); if (attributes != null && attributes.Length > 0) { FriendlyNameAttribute friendlyNameAttribute = (FriendlyNameAttribute)attributes[0]; if (!string.IsNullOrEmpty(friendlyNameAttribute.FriendlyName)) { friendlyName = friendlyNameAttribute.FriendlyName; } } return(friendlyName); }