//============================================================================== // Returns the declaring type name (without calling MemberInfo.DeclaringType) to emit into the ETW record. //============================================================================== private static String DeclaringTypeNameString(this MemberInfo memberInfo) { try { ITraceableTypeMember traceableTypeMember = memberInfo as ITraceableTypeMember; if (traceableTypeMember == null) { return(null); } return(traceableTypeMember.ContainingType.NameString()); } catch { return(null); } }
//============================================================================== // Returns the MemberInfo.Name value (without calling MemberInfo.Name) to emit into the ETW record. //============================================================================== private static String NameString(this MemberInfo memberInfo) { try { TypeInfo typeInfo = memberInfo as TypeInfo; if (typeInfo != null) { return(typeInfo.AsType().NameString()); } ITraceableTypeMember traceableTypeMember = memberInfo as ITraceableTypeMember; if (traceableTypeMember == null) { return(null); } return(traceableTypeMember.MemberName); } catch { return(null); } }