2009-08-10 64 views
0

是否有可用的追求反映任何小C#控制台应用程序? 周围玩的反思

+1

你是什么意思,追求?反射可以用于任何类型的应用程序。 – 2009-08-10 08:03:59

+0

我的意思是我希望深入了解C#中的反射知识。我希望开发一个像“Reflector”的应用程序。 – user146584 2009-08-10 08:11:26

+0

@rengaseshan:没有冒犯,但反射器已经写好了,写这样的东西是很专业的领域。 – 2009-08-10 08:14:14

回答

1
+0

不错。六个月前,我经历了一个基于反思的游戏链接,对于了解该技术的工作原理非常有用,但链接已断开。 – user146584 2009-08-10 08:49:45

1

IronPython.NET对象玩耍。不是C#,而是对所有的.NET对象的真实直接反映。

>>> import clr 
>>> import System 
>>> ip=System.Net.IPAddress(System.Array[System.Byte]([10,0,0,1])) 
>>> ip 
<System.Net.IPAddress object at 0x0000000000000034 [10.0.0.1]> 
>>> dir(ip) 
['Address', 'AddressFamily', 'Any', 'Broadcast', 'Equals', 'GetAddressBytes', 'G 
etHashCode', 'GetType', 'HostToNetworkOrder', 'IPv6Any', 'IPv6Loopback', 'IPv6No 
ne', 'IsIPv6LinkLocal', 'IsIPv6Multicast', 'IsIPv6SiteLocal', 'IsLoopback', 'Loo 
pback', 'MemberwiseClone', 'NetworkToHostOrder', 'None', 'Parse', 'ReferenceEqua 
ls', 'ScopeId', 'ToString', 'TryParse', '__class__', '__delattr__', '__doc__', ' 
__eq__', '__getattribute__', '__hash__', '__init__', '__ne__', '__new__', '__red 
uce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__'] 
>>> ip.Address 
16777226L 
>>> 
0

我同意反射实用程序是一个非常好的工具来探险.NET程序集。

如果你想建立自己的应用程序反映了解的元数据是如何构成的,我建议你读Expert .NET 2.0 IL Assembler。它提供了一个很好的运行方式,如今在组件中如何构造元数据。

.NET框架已经向开发人员公开了一些反射工具,正如用户“weiqure”所述,我建议您对System.Reflection命名空间进行示例以开始反射。

+0

非常感谢你mike – user146584 2009-08-10 09:50:30

+0

这是我的荣幸。我希望这些信息能帮助你! :) – 2009-08-10 21:33:33