小李菜刀
沉迷于程序开发中....
博客园
首页
新随笔
联系
订阅
管理
6 Posts :: 0 Stories :: 21 Comments :: 3 Trackbacks
公告
昵称:
小李菜刀
园龄:
8年1个月
粉丝:
1
关注:
0
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
随笔分类
技巧(1)
心得(5)
随笔档案
2005年3月 (1)
2005年2月 (1)
2005年1月 (1)
2004年10月 (1)
2004年9月 (2)
友情链接
床上用品网
杭州澳风汽车用品有限公司
杭州有光科技有限公司
杭州有光寝饰有限公司
在MSN上的space
中国寝具网
最新评论
阅读排行榜
评论排行榜
推荐排行榜
2004年10月11日
#
Reflection中对于out类型的获取的另外一种方法
看到鞠强兄的帖子
Reflection中对于out类型的获取
,觉得大家使用Reflection时忘记了一个非常强大的函数InvokeMember,而是先获取一个MethodInfo或PropertyInfo对象,然后再调用相应的方法。其实直接调用InvoeMember方法更简单、更高效、通用性更强。再加上我以前发的帖子
通过反射调用COM对象
中的写的Variant包装类,解决这个问题就非常简单了。看来把Reflection的操作包装一下俺还是有先见之明的。
代码如下:
Using directives
#region
Using directives
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Reflection;
#endregion
namespace
ConsoleApplication1
{
class
Test
{
public
void
SetValue(
string
value1,
out
string
value2)
{
value2
=
"
hello
"
;
}
public
void
SetValue(
string
value1)
{
}
}
class
Program
{
static
void
Main(
string
[] args)
{
Variant v
=
Variant.CreateInstance(
"
ConsoleApplication1.Test
"
);
object
[] paras
=
new
object
[]
{
"
xxx
"
,
null
}
;
object
o
=
v.InvokeMethod(
"
SetValue
"
, paras);
Console.WriteLine(paras[
1
]);
}
}
}
posted @ 2004-10-11 21:58 小李菜刀 阅读(1248) 评论(3)
编辑
Powered by:
博客园
Copyright © 小李菜刀