protected virtual void OnEditFieldDescriptorStringValue(FieldInfo fieldInfo, EditingValueEventArgs <string> args) { //若为字节数组,则访问ByteExtensions,获取值; if (fieldInfo.FieldType == typeof(byte[])) { if (!(fieldInfo.GetValue(StructInstance) is byte[] bts)) { args.Value = null; } else if (bts.Length < 16) { args.Value = bts.BytesToHexString(); } else { args.Value = "blobs"; } }
private void EditFieldDecriptor(FieldMemberInfo descriptor) { var stringEventArgs = new EditingValueEventArgs <string>(); OnEditFieldDescriptorMemberName(descriptor.FieldInfo, stringEventArgs); descriptor.MemberName = stringEventArgs.Value; stringEventArgs.Value = null; OnEditFieldDescriptorDisplayName(descriptor.FieldInfo, stringEventArgs); descriptor.DisplayName = stringEventArgs.Value; stringEventArgs.Value = null; OnEditFieldDescriptorStringValue(descriptor.FieldInfo, stringEventArgs); descriptor.Value = stringEventArgs.Value; var szEventArgs = new EditingValueEventArgs <int>(); OnEditFieldDescriptorSize(descriptor.FieldInfo, szEventArgs); descriptor.MemberSize = szEventArgs.Value; }
protected override void OnEditFieldDescriptorDisplayName(FieldInfo fieldInfo, EditingValueEventArgs <string> args) { args.Value = LanguageService.FindResourceString($"{Constants.ExtGroupDescFieldPrefix}{fieldInfo.Name}"); }
protected abstract void OnEditFieldDescriptorDisplayName(FieldInfo fieldInfo, EditingValueEventArgs <string> args);
protected virtual void OnEditFieldDescriptorMemberName(FieldInfo fieldInfo, EditingValueEventArgs <string> args) { args.Value = fieldInfo.Name; }