关于反射的一些小问题,大家帮忙。。。谢谢。。。

duguguiyu1984 2005-03-13 11:44:14
我想动态建立笔pen或brush中的各种笔刷
怎么创建实例 我用这样的字串"System.Drawing.Pen"不行 看过些文档 要有装配集的class号。。
不知道有没有其他方法。。麻烦给点示例代码。

还有这么利用Assembly.GetAssembly这个方法创建实例。也是通过一个字串。。。
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiloZhu 2005-03-16
  • 打赏
  • 举报
回复
學習...
egxsun 2005-03-16
  • 打赏
  • 举报
回复
up
duguguiyu1984 2005-03-15
  • 打赏
  • 举报
回复
谢谢 思归大哥。。。
这个问题已经明白。。

我现在调用MethodInfo m=t.GetMethod("DrawLine");
报错 说遇到重载不能创建
还有 对BindingFlags的功能不是很明白。。望讲解
saucer 2005-03-14
  • 打赏
  • 举报
回复
something like


using System;
using System.Reflection;

class TestPen
{
static void Main()
{
Assembly a = Assembly.LoadWithPartialName("System.Drawing");

Object color = a.CreateInstance("System.Drawing.Color");

Object brush = a.CreateInstance("System.Drawing.SolidBrush",
true,
BindingFlags.Instance|BindingFlags.Public,
null,
new object[]{color},
null,null);

Object pen = a.CreateInstance("System.Drawing.Pen",
true,
BindingFlags.Instance|BindingFlags.Public,
null,
new object[]{brush},
null,null);

PropertyInfo pi = pen.GetType().GetProperty("Width");
Console.WriteLine(pi.GetValue(pen,null));

PropertyInfo pi2 = pen.GetType().GetProperty("Color");
Console.WriteLine(pi2.GetValue(pen,null));

}
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧