2009-08-10 52 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