C# 根据实体类的属性动态生成字符串
情景:
目前有两个实体类:Student,ClassInfo.
public class Student {
public string Name { get; set; }
public string Sex { get; set; }
public string Age { get; set; }
}
public class Classinfo
{
public string Subject { get; set; }
public int Score { get; set; }
}
Student stu = new Student() { Name="张三",Sex="男",Age=""};
Classinfo cla = new Classinfo() { Subject="语文",Score=};
希望拼接生成一串动态的字符串(非使用string.Format)。里面的属性可以增加,删除,随意改变顺序。如:
--情况1
string msg = "学生:[Student.Name],[Student.Sex],[Student.Age]岁。课程得分:[Classinfo.Subject]:[Classinfo.Score].";
---处理后结果输出
学生:张三,男,18岁。课程得分:语文:. --情况2
string msg = "学生:[Student.Name],[Student.Age]岁。课程得分:[Classinfo.Subject]:[Classinfo.Score].";
---处理后结果输出
学生:张三,18岁。课程得分:语文:. --情况2
string msg = "[Student.Age]岁的[Student.Name]的[Classinfo.Subject]成绩:[Classinfo.Score].";
---处理后结果输出
18岁的张三的语文成绩:.
处理方法:
Student stu = new Student() { Name="张三",Sex="男",Age=""};
Classinfo cla = new Classinfo() { Subject="语文",Score=}; object[] sources = new object[] { stu,cla };
string msg = "学生:[Student.Name],[Student.Sex],[Student.Age]岁。课程得分:[Classinfo.Subject]:[Classinfo.Score]."; foreach (var source in sources)
{
if (source == null)
continue;
msg = MessageBodyFactory.GetMessageBody(source, msg);
}
//msg中可以随意修改。。 string msg = "学生:[Student.Name],[Student.Sex]岁。课程得分:[Classinfo.Subject]:[Classinfo.Score].";
string msg = "[Student.Age]岁的[Student.Name]的[Classinfo.Subject]成绩:[Classinfo.Score].";
源码地址:http://files.cnblogs.com/gguozhenqian/ConsoleApplication1.zip
C# 根据实体类的属性动态生成字符串的更多相关文章
- 解决SpringDataJpa实体类中属性顺序与数据库中生成字段顺序不一致的问题
一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) jpa: database: MYSQL show-sql: true #Hib ...
- java 中利用反射机制获取和设置实体类的属性值
摘要: 在java编程中,我们经常不知道传入自己方法中的实体类中到底有哪些方法,或者,我们需要根据用户传入的不同的属性来给对象设置不同的属性值,那么,java自带的反射机制可以很方便的达到这种目的,同 ...
- 实体类相同属性间赋值与如何判断实体类中是否所有的字段都为null
1,实体类相同属性间赋值 /// <summary> /// 将实体2的值动态赋值给实体1(名称一样的属性进行赋值) /// </summary> /// <param ...
- java反射获取和设置实体类的属性值 递归所有父类
最近做一个通用数据操作接口,需要动态获取和设置实体类的属性值,为了通用实体做了多重继承,开始网上找到代码都不支持父类操作,只能自己搞一个工具类了,此工具类可以设置和获取所有父类属性,代码贴下面拿走不谢 ...
- java中循环遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...
- swoft orm中的坑(针对实体类的属性名称和数据库字段不相等)
最近在用swoft的orm,发现了一些问题: 首先看下实体类的定义 它的属性名称和所映射的数据库字段名不一致,这个就会导致蛋疼的问题,首先,在我们使用orm的时候,应该使用哪个字段? 我直接说结论,在 ...
- 【转】java遍历实体类的属性和数据类型以及属性值
和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...
- java遍历实体类的属性和数据类型以及属性值
遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...
- java中如何遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa ...
随机推荐
- 关于BigDecimal类型在jsp页面中进行除法运算问题
出自:http://blog.csdn.net/u011910290/article/details/52935337 问题描述: 在项目编写过程中,发现BigDecimal在jsp中进行除法运算时, ...
- mysql 随机查询 记录集
有时候需求需要随机从数据库查询若干条记录集,网上搜了一下,几篇博文都是些重复的.....不知道他们谁抄的谁的,这里除了介绍提供一种笔者自己想到的方法,本质都是利用mysql 的rand() 第一种方法 ...
- Python基础学习八 写日志
import logging from logging import handlers class Logger(object): level_relations = { 'debug': loggi ...
- aop中通知详情
- [转]字符集、字符编码、XML中的中文编码
字符集.字符编码.XML中的中文编码 作为程序员的你是不是对于ASCII .UNICODE.GB2321.UTF-7.UTF-8等等不时出现在你面前的这些有着奇怪意义的词感到很讨厌呢,是不是总觉得好象 ...
- Fedora下安装Scrapy遇到的两个问题
error:/usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory 需要安装redhat-rpm-config sudo ...
- JAVA heap space 内存溢出
3月28日开始使用JAVA调用SAP RFC后提示内存溢出 尝试增加set java_OPTS.....但仍然提示内存溢出 最终设置方法
- 阿里云 mysql 远程登录权限
[mysql中配置] 授权法: 1.登录到mysql中,为root进行远程访问的授权,执行下面的命令: mysql> GRANT ALL PRIVILEGES ON *.* TO root@& ...
- css水平居中,竖直居中技巧(二)
css水平居中,竖直居中技巧(二)===### 1.效果 ### 2.代码#### 2.1.index.html <!DOCTYPE html> <html lang="z ...
- 制作initramfs/initrd镜像
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做"init"程序).用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统 ...