异想天开?!动态指定属性名?难道需要用反射么?

xpnew 2008-07-18 04:01:26
中午没吃饭提了一个关于枚举的问题。下午发现还有更严重的问题:我似乎得研究动态指定ImageFormat的属性!

---------------代码简要:

context.Response.ContentType = "image/gif";
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);

----------------------
我需要的是根据指定的string imgType = Request.QueryString["imgType"]。决定ContentType 和ImageFormat的属性。
我在网上看到的代码是用switch/select case的。(例如:http://blog.163.com/huang_ying_lu/blog/static/26999832008325111332567/)
能用string imgType指定ImageFormat的属性是Gif还是Jpeg么?
这似乎是一个异想天开的问题。
...全文
58 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fuadam 2008-07-19

string pName = "Gif";
Type t = typeof(System.Drawing.Imaging.ImageFormat);
PropertyInfo p = t.GetProperty(pName, BindingFlags.Static | BindingFlags.Public);
System.Drawing.Imaging.ImageFormat format = (System.Drawing.Imaging.ImageFormat)p.GetValue(null, null);
回复
xpnew 2008-07-19
三楼的,能给一个反射的代码么?
PS:我不懂反射,希望你能说得详细点,谢谢!
回复
zhujiechang 2008-07-19
ContentType 属性仅仅是指定输出的流是图片而已,至于是不是还取决你最后的输入内容。
这个属性和反射不搭调
回复
cheng_feng001 2008-07-18
1楼的,真相只有一个!
回复
shadowgreen 2008-07-18
学习····
回复
fuadam 2008-07-18
因为System.Drawing.Imaging.ImageFormat不是枚举类型的,所以你只能switch或者反射
回复
cacar2008 2008-07-18
可以的
回复
aaajedll 2008-07-18
學習
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2008-07-18 04:01
社区公告

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