浅淡反射问题
浅淡反射问题
[Key word:convert string to variable,C#,Reflection]
在学习反射的时候,总有人跟我说,没有必要去学习一些又难又没用的东西。然而今天我先不说反射可以为我们解决什么问题(其实我也不清楚),从一个实际的问题出发来简单的讨论一下反射问题。
有这样的一个实际问题,两个变量:
string m_str1 = "m_str2";
string m_str2 = "This is a test!";
现在的问题:如何利用m_str1得到"This is a tset!"(不能用m_str2),也就是说,如何让m_str1里的值成为一个新的变量。
在此之前,我找了到了几个有解决方案的网站,得其中一个的启示,用到了反射。这里是网址:
http://www.experts-exchange.com/M_3562622.html
http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.languages.csharp/2005-04/msg03271.html
解决示例(Code):
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
实际应用:
在实际的项目中,我遇到这样的一个问题,我在一个类里添加很多静态的字符串做为资源,有一些很长,但很一个都按结构分好了类,在类名为:WaveTextManager里,其中有一些提示用户操作错误的字符串。那么当用户操作错误的时候,把用户导入到错误页面上,然后根据参数来选择提示信息。部份代码:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
好了,这里只是简单的利用一个实际问题来讨论一下反射问题,在理论上,可以用反射来完成一个类似ILDasm的工具出来。
/\_/\
(=^o^=) Wu.Country@侠缘
(~)@(~) 一辈子,用心做一件事!
--------------------------------
学而不思则罔,思而不学则怠!
================================
posted on 2005-12-28 09:35 Wu.Country@侠缘 阅读(2378) 评论(7) 编辑 收藏 举报