类名不同,结构相同的两个类相互转换

类名不同,结构相同的两个类相互转换,忽略 实体null值的json转换;

        /// <summary>
        /// 结构相同,类名不同的实体类转换(忽略 null
        /// kk 2015-06-03
        /// </summary>
        /// <typeparam name="T">需转换的类 类型</typeparam>
        /// <typeparam name="V">目标类 类型</typeparam>
        /// <param name="a">需转换的类 对象</param>
        /// <returns></returns>
        private V ConvertClassBySameClassStructure<T, V>(T a)
            where T : class ,new()
            where V : class,new()
        {
            Newtonsoft.Json.JsonSerializerSettings jSetting = new Newtonsoft.Json.JsonSerializerSettings();
            jSetting.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
            string json = Newtonsoft.Json.JsonConvert.SerializeObject(a, jSetting);
            return SerializeUtil.DeserializeJson<V>(json);
        }

  

时间: 2024-08-08 11:10:59

类名不同,结构相同的两个类相互转换的相关文章

了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)

下面的示例演示如何使用 结构 到方法与通过 类 实例不同传递给方法.在此示例中,两个参数 (结构和类实例) 将值和两个方法通过更改参数的一个字段的值.但是,这两个方法的结果是不同的,因为的传递,当您通过时结构什么不同通过,则可以通过类的实例. 由于结构是 值类型,那么,当您对方法的 使用结构值 ,方法受到并对结构参数的副本.方法无法访问原始结构中调用方法并不能将其更改任何方式.该方法可以仅更改副本. 类的实例是 引用类型,而不是值类型.当对方法的 引用类型通过值 ,方法进行引用的复制到类实例.即

结构是值类型,类是引用类型的理解

首先咱放个代码,根据代码来理解 using System; namespace CSharp { public class MyClass { public int val; } struct Struct { public int val; } class Program { public static void Main(string[] args) { MyClass MyClass1=new MyClass(); MyClass MyClass2=MyClass1; MyClass1.v

【转】 C++中两个类相互包含引用问题

原文:http://blog.csdn.net/leo115/article/details/7395077 在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型 class A { int i; B b; } class B { int i; A* a; } 请注意上面的定义内容,一般情况下是不能出现类A,类B相互引用都定义对象,即如下的样子: class A { int i; B b; } class B { int

C++中两个类互相引用的解决方法

一.问题描述 现在有两个类A和B需要定义,定义A的时候需要用到B,定义B的时候需要用到A. 二.分析 A和B的定义和调用都放在一个文件中肯定是不可以的,这样就会造成两个循环调用的死循环. 根本原因是:定义A的时候,A的里面有B,所以就需要去查看B的占空间大小,但是查看的时候又发现需要知道A的占空间大小,造成死循环. 解决方法1: (1)写两个头文件A.h和B.h分别用于声明类A和B: (2)写两个.cpp文件分别用于定义类A和B: (3)在A和B的头文件中分别导入对方的头文件. 解决方法2: (

给html5引擎lufylegend添加了两个类LTimer和LMovieClip

项目中经常用到as3中Timer和MovieClip类似的功能,但都时间整理,今天花半天时间仿照as3文档写了这两个类,感觉还不错,LTimer已经测试完成,LMovieClip已完成编码但还没测试,明天抽空测试一下就提交给lufy.有了这两个,开发项目将会方便许多.

VB.NET 结构(Structure)和类(Class)的区别

类是我们用来构造 VB.NET 应用程序时的最基本的编程结构了. 那结构与类有什么相似之处与不同之处呢? 结构和类, 相同之处是都含有成员,包括构造函数.方法.属性.字段.常量.枚举和事件,都可以实现接口,都有共享的构造函数,都能对成员进行封装. 没错都有构造函数,那结构的构造函数是什么,结构难道也可被实例化成对象? 看这一段代码: Module Module1 Private Structure test Dim Name As String Dim Age As Integer Public

c++中两个类相互包含引用的相关问题

在构造自己的类时,可能会遇到两个类相互引用的问题. 例如: class A { int i; B b; }; class B { int i; A a; }; 在这种情况下,这样就会出现一个死循环a.b.a.b.a.b....,一般来说,应避免这种情况. 如果确实需要的话,一般来说,至少有一方需要定义成指针. 例如: class A { int i; B b; }; class B { int i; A* a; }; 如果按照以上的方式,既然存在互相引用,就必须互相包含头文件,如果仅仅是在自己的

简单看看这两个类 String和StringBuilder

我记得以前在园子里面讨论这两个类的文章有很多很多,并且还拿出了很多的测试报告,在什么情况下,谁比谁快,在什么情况下,该用谁 不该用谁等等这些,我这里就不比较了,我就简单看看他们里面的内部实现,那就先看看String吧. 一:String类 说到String类,资料上都说是存在于堆上的一个不可CURD的一个不可变的字符集,当然看到这句话之后就想要看看是不是这样的,然后就 好奇的写了以下代码. 1 class Program 2 { 3 static void Main(string[] args)

.net 中struct(结构)和class(类)的区别

1.struct 结构与class(类)的区别 1)struct是值类型,class是对象类型 2)struct不能被继承,class可以被继承 3)struct默认访问权限是public,而class默认是private 5) struct不能由程序员申明构造函数,有编辑器自动生成,用于描述轻量级对象,执行效率高,例如:Line,Point等 6)struct的new和class的new是不同的,struct的new就是执行一下构造函数创建一个实例,再对所有字段进行复制. 而class则是在堆