-
阅读目录
一: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; }
}
} }
相关文章
- 实现Square类,让其继承自Rectangle类,并在Square类增添新属性和方法,在2的基础上,在Square类中重写Rectangle类中的初始化和打印方法
- C#中的泛型化方法的实现
- 1.什么是泛型和C#中泛型在Class上的实现
- 在R中,如何查看实现泛型方法的签名?
- 基于C++类和指针实现二叉树1、二叉树的定义 二叉树(Binary Tree)是一种特殊的树型结构,每个节点至多有两棵子树,且二叉树的子树有左右之分,次序不能颠倒。 由定义可知,二叉树中不存在度(结点拥有的子树数目)大于2的节点。二叉树形状如下下图所示:2、二叉树的性质(1)在二叉树中的第i层上至多有2^(i-1)个结点(i>=1)。备注:^表示此方(2)深度为k的二叉树至多有2^k-1个节点(k>=1)。(3)对任何一棵二叉树T,如果其终端结点数目为n0,度为2的节点数目为n2,则n0=n2+1。满二叉树:深度为k且具有2^k-1个结点的二叉树。即满二叉树中的每一层上的结点数都是最大的结点数。完全二叉树:深度为k具有n个结点的二叉树,当且仅当每一个结点与深度为k的满二叉树中的编号从1至n的结点一一对应。可以得到一般结论:满二叉树和完全二叉树是两种特殊形态的二叉树,满二叉树肯定是完全二叉树,但完全二叉树不不一定是满二叉树。举例如下图是所示:(4)具有n个节点的完全二叉树的深度为log2n+ 1
- 实现vs在Java中的泛型中扩展
- phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
- 2.C#中泛型在方法Method上的实现
- 实现vs在Java中的泛型中扩展
- 2.C#中泛型在方法Method上的实现