当前位置:编程学习 > C#/ASP.NET >>

反射问题探讨

关于System.Reflection.MethodInfo的Invoke(object obj,obect[] parameters)的方法
1.得到一条记录(一个实体对象)或者单个结果(如int,bool),这样即使要查询的记录不存在,Invoke方法返回null
2.得到多记录,如分页,获取第100页,其实100页没数据,这样的情况下Invoke方法就报错。
3.当方法接收的是个实体对象时候,该以什么方法设置该参数。

高手帮忙解决下,可再开帖100分 --------------------编程问答-------------------- 2.如果查已存在的页则没问题 --------------------编程问答-------------------- 坐等答案 --------------------编程问答-------------------- ? --------------------编程问答-------------------- 顶顶顶顶顶顶顶顶顶顶 --------------------编程问答-------------------- 你想问什么,问你又不说 --------------------编程问答-------------------- 特来围观。。。。 --------------------编程问答-------------------- 前提是:得到多条记录时
怎么解决当调用
System.Reflection.MethodInfo的Invoke(object obj,obect[] parameters)
方法时报错的原因。
为什么不时候返回NULL。而是报错。。
我测试过当查询一条记录的时候,如果不存在就返回NULL,否则就是返回记录。 --------------------编程问答-------------------- 把整个程序贴下,这么说看不出来你的错误。。。 --------------------编程问答-------------------- 代码... --------------------编程问答-------------------- 你不是贴出来代码让大家看看吧 --------------------编程问答-------------------- //from msdn
public Object Invoke (Object obj,Object[] parameters)
参数
obj
对其调用方法或构造函数的对象。如果方法是静态的,则忽略此参数。如果构造函数是静态的,则此参数必须为空引用或定义该构造函数的类的实例。 

parameters
调用的方法或构造函数的参数列表。这是一个对象数组,这些对象与要调用的方法或构造函数的参数具有相同的数量、顺序和类型。如果没有任何参数,则 parameters 应为空引用。
如果此实例所表示的方法或构造函数采用 ref 参数,使用此函数调用该方法或构造函数时,该参数不需要任何特殊属性。如果数组中的对象未用值来显式初始化,则该对象将包含该对象类型的默认值。对于引用类型的元素,该值为 空引用。对于值类型的元素,该值为 0、0.0 或 false,具体取决于特定的元素类型。 


返回值
一个对象,包含被调用方法的返回值,如果调用的是构造函数,则为空引用(null)。  --------------------编程问答-------------------- 例子:

using System;
using System.Reflection;

public class MagicClass
{
    private int magicBaseValue;

    public MagicClass()
    {
        magicBaseValue = 9;
    }

    public int ItsMagic(int preMagic)
    {
        return preMagic * magicBaseValue;
    }
}

public class TestMethodInfo
{
    public static void Main()
    {
        // Get the constructor and create an instance of MagicClass

        Type magicType = Type.GetType("MagicClass");
        ConstructorInfo magicConstructor = magicType.GetConstructor(Type.EmptyTypes);
        object magicClassObject = magicConstructor.Invoke(new object[]{});

        // Get the ItsMagic method and invoke with a parameter value of 100

        MethodInfo magicMethod = magicType.GetMethod("ItsMagic");
        object magicValue = magicMethod.Invoke(magicClassObject, new object[]{100});

        Console.WriteLine("MethodInfo.Invoke() Example\n");
        Console.WriteLine("MagicClass.ItsMagic() returned: {0}", magicValue);
    }
}

--------------------编程问答-------------------- 你们提供的都是已存在的类。。然后通过反射得到该类。这样肯定没问题。
我是想 
string Lei = "User";
string name = "aspnet";
string mima = "sa";
就是这样的字符串  通过某些方式 变成 USER类 该类的那个属性就是  name和mima 值为 aspnet和sa
本身不存在USER类。。 --------------------编程问答-------------------- 学艺不精,观注中
--------------------编程问答-------------------- 只不过不知道有没有这样的方法实现。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,