コード例 #1
0
        internal static ClrValueType?TryGetValueClassField(this ClrObject clrObject, string fieldName)
        {
            if (!clrObject.IsNull)
            {
                ClrInstanceField?field = clrObject.Type?.GetFieldByName(fieldName);
                if (field?.Type is object && field.Type.IsValueType)
                {
                    // System.Console.WriteLine("{0} {1:x} Field {2} {3} {4} {5}", clrObject.Type.Name, clrObject.Address, fieldName, field.Type.Name, field.Type.IsValueType, field.Type.IsRuntimeType);
                    return(clrObject.ReadValueTypeField(fieldName));
                }
            }

            return(null);
        }