java中invoke()的作用是什么?
3个回答
展开全部
就是调用类中的知方法,最简单的用法是可以把方法参数化
invoke(class,
method)
比如你Test类里有一系列名道字相似的方法setValue1、setValue2等等
可以把方法名存回进数组答v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue
invoke(class,
method)
比如你Test类里有一系列名道字相似的方法setValue1、setValue2等等
可以把方法名存回进数组答v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己测试了一下,使用反射机制,可以调用类里面的静态方法,但是没有找到好的办法调用泛型静态方法,自己测试的代码如下:
class Person
{
public static string Fun(string value)
{
Console.WriteLine("ttt");
return value;
}
}
class Program
{
static void Main(string[] args)
{
//使用反射机制得到指定类里面的方法
Type t = typeof(Person);
MethodInfo info = t.GetMethod("Fun");
Console.WriteLine(info.Name);
Person p = new Person();
//使用Invoke方法进行回调
object obj= info.Invoke(null,new string[] {"zhangsan"});
//打印的结果是"zhangsan",即调用方法的返回值
Console.WriteLine(obj);
Console.ReadLine();
}
}
到网上查了一下,也查不到相关的内容,希望上面的代码能帮到你.
class Person
{
public static string Fun(string value)
{
Console.WriteLine("ttt");
return value;
}
}
class Program
{
static void Main(string[] args)
{
//使用反射机制得到指定类里面的方法
Type t = typeof(Person);
MethodInfo info = t.GetMethod("Fun");
Console.WriteLine(info.Name);
Person p = new Person();
//使用Invoke方法进行回调
object obj= info.Invoke(null,new string[] {"zhangsan"});
//打印的结果是"zhangsan",即调用方法的返回值
Console.WriteLine(obj);
Console.ReadLine();
}
}
到网上查了一下,也查不到相关的内容,希望上面的代码能帮到你.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询