C# 根据实体类的属性动态生成字符串
2024-10-18 21:17:50
情景:
目前有两个实体类: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
最新文章
- 深入理解java异常处理机制
- Bzoj2007 [Noi2010]海拔
- ACM: hihicoder #1174 : 拓扑排序·一 STL- queue
- js 格式化数字保留2位小数
- Spring定时器的时间表达式
- elasticsearch2.2 集群搭建各种坑
- Java基础(38):Calendar类的应用(优于Date类)
- ClassLoader加载
- 去除重复命令uniq
- hdu 4671 Backup Plan(签到题)
- NSLog设置不打印
- struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复
- 搭建nexus私服(maven)
- php用PHPExcel库生成Excel文档的例子
- jQuery hover() 方法
- Noip2017 普及 T3 Chess
- pythonのdjango连接MYSQL
- Linux 操作命令
- centos安装python3.7和yum报错解决方法
- Excel实用录入技巧