字符串转换成枚举类型的方法

时间:2022-05-14 16:47:31 

用户User的注册类型有Super和Common两种


public eumn RegistrationType
{
    Super;
    Common;
}

public User
{
    RegistrtionType type;
    ......
}

考虑这样一种情况,通过某种服务,客户端会获得服务器端传过来的类名以及各个属性的值,包括User,也有其他的类Product, Shop等,当然这都是字符串。在客户端,我们需要将这些信息组装成为一个类实例。我们可以通过if来判断传过来的类名,并且new一个实例出来,判断各个属性并且赋值。但是如果我们不确定会有哪几个类传过来,就无法用if来判断。此时我们可以使用反射来完成,只要获得了类名,就可以反射出一个类的实例,然后给属性赋值。
比如说,服务器端传过来“User Super",即这是一个User类,其RegistrtionType为Super. 如何将这个Super字符串转为枚举?可以使用如下方法,说先反射出一个实例user,然后获取其属性,再赋值。
prop.SetValue(user, TypeDescriptor.GetConverter(prop.PropertyType).ConvertFromInvariantString("Super"), null);

标签:字符串转换成枚举
0
投稿

猜你喜欢

  • Java import导入及访问控制权限修饰符原理解析

    2023-08-17 21:42:59
  • SpringMVC拦截器创建配置及执行顺序

    2023-06-06 20:41:16
  • Spring-AOP @AspectJ进阶之如何绑定代理对象

    2022-05-31 16:08:38
  • 字符串内存驻留机制详解示例

    2023-09-24 04:09:32
  • Spring Boot 结合 aop 实现读写分离

    2023-09-29 07:53:02
  • java实现计算器功能

    2022-10-28 06:52:09
  • SpringBoot JS-SDK自定义微信分享的实现

    2023-11-10 05:08:28
  • SpringBoot整合Activiti工作流框架的使用

    2022-03-02 12:32:44
  • Java Map接口及其实现类原理解析

    2022-06-04 22:54:29
  • Android中TimePicker与DatePicker时间日期选择组件的使用实例

    2023-08-07 01:35:15
  • hibernate 命名查询如何实现

    2023-11-04 02:35:41
  • SpringBoot使用Mybatis&Mybatis-plus文件映射配置方法

    2023-05-16 12:53:02
  • 快速入门介绍Java中强大的String.format()

    2022-10-28 15:53:49
  • Java使用easyExcel导出excel数据案例

    2022-02-21 19:39:27
  • Android RecyclerBarChart绘制使用教程

    2023-06-19 12:18:36
  • java ArrayList集合中的某个对象属性进行排序的实现代码

    2022-05-27 19:54:24
  • Java输入输出流实例详解

    2023-05-28 15:54:35
  • 解决Spring国际化文案占位符失效问题的方法

    2022-10-20 23:42:23
  • java实现哈弗曼编码与反编码实例分享(哈弗曼算法)

    2023-11-25 04:54:05
  • Springboot实现高吞吐量异步处理详解(适用于高并发场景)

    2023-08-20 23:40:35
  • asp之家 软件编程 m.aspxhome.com