2.C#中泛型在方法Method上的实现
阅读目录
一:C#中泛型在方法Method上的实现
把Persion类型序列化为XML格式的字符串,把Book类型序列化为XML格式的字符串,但是只写一份代码,而不是public static string GetSerializeredString(Book book)这个方法写一份,再public static string GetSerializeredString(Persion persion)再写一份方法,而是在方法的调用时候再给他传数据类型的类型
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization; namespace GenericMethod2
{
class Program
{
static void Main(string[] args)
{
Book book = new Book();
book.BookNumber = "";
book.Name = "《西游记》"; Person person = new Person();
person.PersonName = "张三"; string bookXMLString = GetSerializeredString<Book>(book); string personXMLString = GetSerializeredString<Person>(person); Console.WriteLine(bookXMLString); Console.WriteLine("--------------"); Console.WriteLine(personXMLString);
Console.ReadLine();
} /// <summary>
/// 根据对象和泛型得到序列化后的字符串
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string GetSerializeredString<T>(T t)
{
//1.step 序列化为字符串
XmlSerializer xmlserializer = new XmlSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
xmlserializer.Serialize(ms, t);
string xmlString = Encoding.UTF8.GetString(ms.ToArray()); return xmlString;
} } [Serializable()]
[XmlRoot]
public class Book
{
string _booknumber = "";
[XmlElement]
public string BookNumber
{
get { return _booknumber; }
set { _booknumber = value; }
} string _name = "";
[XmlElement]
public string Name
{
get { return _name; }
set { _name = value; }
}
} [Serializable()]
[XmlRoot]
public class Person
{
string _personName = "";
[XmlElement]
public string PersonName
{
get { return _personName; }
set { _personName = value; }
}
} }
2.C#中泛型在方法Method上的实现的更多相关文章
- python 中的__new__方法
1.有关__new__方法的介绍 __new__方法调用在构造方法构造实例之前,即在__init__方法执行之前,我们可以这样理解,他的作用是决定是否适用这个__iint__方法来构造实例,但是需要注 ...
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
Python 在子类中调用父类方法详解(单继承.多层继承.多重继承) by:授客 QQ:1033553122 测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...
- 【转载】OLE控件在Direct3D中的渲染方法
原文:OLE控件在Direct3D中的渲染方法 Windows上的图形绘制是基于GDI的, 而Direct3D并不是, 所以, 要在3D窗口中显示一些Windows中的控件会有很多问题 那么, 有什么 ...
- 【java编程】java中什么是bridge method(桥接方法)
https://blog.csdn.net/mhmyqn/article/details/47342577 https://www.cnblogs.com/strinkbug/p/5019453.ht ...
- java Class中得到构造方法Constructor、方法Method、字段Field
常用方法: Constructor类用于描述类中的构造方法: Constructor<T> getConstructor(Class<?>... parameterTypes) ...
- struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
- 1.什么是泛型和C#中泛型在Class上的实现
阅读目录 一:什么是泛型? 二:C#中泛型在Class上的实现 一:什么是泛型? 我们在编程的时候需要一个数据类型,但是在刚开始的时候还不确定这个数据类型是怎么样的,或者说对于不同的多个数据类型有 ...
- [CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法
12.3 We have the following method used in a chess game: boolean canMoveTo( int x, int y). This metho ...
- Python魔法方法(magic method)细解几个常用魔法方法(上)
这里只分析几个可能会常用到的魔法方法,像__new__这种不常用的,用来做元类初始化的或者是__init__这种初始化使用的 每个人都会用的就不介绍了. 其实每个魔法方法都是在对内建方法的重写,和做像 ...
随机推荐
- 1.3 Content Provider
ContentProvider向我们提供了我们在应用程序之间共享数据的一种机制,分为系统的和自定义的,系统的也就是例如联系人,图片等数据. 使用方式:一个应用实现ContentProvider来提供内 ...
- mysqld: Incorrect key file for table
错误 140624 0:53:42 [ERROR] /usr/libexec/mysqld: Incorrect key file for table './xx/xxx.MYI'; try to r ...
- [转载]& 引用 取地址
原文地址:& 引用 取地址作者:beter 引用实际上就是给同一个变量取了多个名字. 举个例子: 有个人的名字叫a,之后又改名叫b,这时a和b都是指这个人,这样b就引用了a,即 ...
- 使用NHibernate(7)-- 一对一 && 一对多 && 多对多
1, 一对一. 对于数据量比较大的时候,考虑查询的性能,肯能会把一个对象的属性分到两个表中存放:比如用户和用户资料,经常使用的一般是Id和用户名,用户资料(学校,籍贯等)是不经常被查询的,所以就会分成 ...
- Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET W ...
- 模仿angularjs写了一个简单的HTML模版和js数据填充的示例
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- php 获取中文字符拼音首字母
//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{}); }); ...
- [C++] C/C++ 取整函数ceil(),floor()
使用floor函数.floor(x)返回的是小于或等于x的最大整数.如: floor(10.5) == 10 floor(-10.5) == -11 使用ceil函数.ceil(x)返回 ...
- [51单片机] TFT2.4彩屏2 [32*32文字显示]
>_<:同理如果想显示其他形式的字体,就要建立相应的库啦,如这里还有一个gb3232的汉字库:GB3232.h // ------------------ 汉字字模的数据结构定义 ---- ...
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结
Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结 1. TOGAF是在过去二十年间出现的企业架构框架 1 2. TOGAF内容结构 1 3. TOGAF 实现过程 2 4. 参考 ...