2009-07-18 78 views
2

我试图看到[MethodImpl(MethodImplOptions.InternalCall)] public extern int get_Length();函数的实现,该函数又是字符串的Length属性。如何使用反射器查看.NET库函数的实现

但反射给了我以下错误:

The member is not loaded or may be hidden due to your visibility settings

但是则加载成员和可见性设置为ALL

回答

2

我相信了的extern方法是在“典型的”使用其他已实现的那些DLL,大多是本地的。当然,如果是这样的话,你就不在反思之下!

+0

我怎样才能看到它的实现? – Learner 2009-07-18 23:01:27

+0

简单的答案 - 当您反映.NET代码时,您无法在级别上看到实现。但是,您可能能够反汇编DLL并尝试从汇编指令中理解 - 但我不会去那里。无论如何,你想实现什么目标? – 2009-07-18 23:19:12

1

某些非常重要的类型,如String有许多使用本机代码实现的方法。 StringLength属性就是这样一个例子。这也可以从extern修饰符中看出。反射器不能向你展示这些方法的实现。