+ -
当前位置:首页 → 问答吧 → 封装实体类

封装实体类

时间:2011-12-24

来源:互联网

需要写一个通用方法,传一个实体类进去可以将需要的数据插入另一个结构一样字段名不同的表中的方法.

可以是见解,方法,示例.

目前碰到的问题是,如何传一个事先无法确认的实力类,然后进行判断组装.

作者: CPP_TTMY   发布时间: 2011-12-24

什么叫做“结构一样字段名不同的表”?字段名不同怎么就叫做“结构一样”呢?不懂。

作者: sp1234   发布时间: 2011-12-24

另外,“传一个实体类进去”这个也混乱。程序流程是面向对象的,不是面向对象类的。

作者: sp1234   发布时间: 2011-12-24

A表
id(int) name(nvarchar50) age(int)
1 张三 20
2 李四 23
3 王五 22
B表
num(int) nickname(nvarchar50) nianling(int)


现在我要写一个通用的方法.它要实现的功能是.
我给它一个A表实体.它根据id号将
id name age
1 张三 20
插入B表.

作者: CPP_TTMY   发布时间: 2011-12-24

因为有多组表需要这样做,所以需要一个通用的方法去实现这些功能

作者: CPP_TTMY   发布时间: 2011-12-24

要么顺序匹配,要么字符包含匹配

作者: Sandy945   发布时间: 2011-12-24

顺序是匹配的

作者: CPP_TTMY   发布时间: 2011-12-24

C# code

        public T SetValueByS<S,T>(S source) where:T new()
        {
            T t = new T();
            PropertyInfo[] spiArr = typeof(S).GetProperties(),tpiArr=typeof(T).GetProperties();
            for(int i=0;i<spiArr.Length;i++)
            {
                 tpiArr.SetValue(spiArr.GetValue(source),t);
            }
            return t;
        }


大概意思,没测试

作者: Sandy945   发布时间: 2011-12-24