标签: reflector

如果Visual Studio 2010基于WPF,为什么我不能用反射器打开它?

如果Visual Studio 2010基于WPF,为什么我不能用反射器打开它?

换句话说,devenv.exe似乎是本机程序集,那么WPF UI代码在哪里?

wpf reflector visual-studio-2010

3
推荐指数
1
解决办法
480
查看次数


跨越不同的程序集版本传递类对象

场景如下 -

  • 我有一个组件说'MyAssembly'.接口说'IMyInterface'在此程序集中定义.
  • 在同一个程序集中,我有一个类(MyClass),其中的方法定义如下:

public void MyMethod(IMyInterface object){}

  • 现在,在我的项目中,我创建了一个具有相同名称和确切属性的接口,这些接口由"MyAssembly"中的"IMyInterface"接口公开.
  • 我有一个扩展此接口的类(我在我的项目中创建的那个),我希望将该类的对象作为参数传递给使用反射的不同程序集中的方法"MyMethod".

问题是 -

  • 当我尝试使用反射调用方法时,我得到了"无法将对象转换为类型IMyInterface"的异常.

代码 -

Assembly myAssembly = Assembly.LoadFrom("MyAssembly");
object classObject = myAssembly.CreateInstance("MyClass");
Type classType = myAssembly.GetType("MyClass");
MethodInfo myMethod = classType.GetMethod("MyMethod", BindingFlags.Instance);

// Creating an object of class in the latest assembly and need to pass this
// to method in assembly with different version.
ClassExtendingMyInterface obj= new ClassExtendingMyInterface ();

myMethod.Invoke(classObject, new object[] { obj});
Run Code Online (Sandbox Code Playgroud)

如果,我说得对,这是因为创建的对象是在不同的程序集中,并且该方法所期望的参数是它自己的程序集.

我想到的另一种方法是在类中创建我自己的动态方法,它将接受我的类的对象.

我试图通过Reflection.EmitRunSharp来google并动态创建自己的类.但是,我们只能在动态生成的程序集中使用它,但不能在现有程序集中创建动态方法或类.

我知道在运行时生成程序集并不是一个好方法.但我现在想不出任何事情.谢谢你的帮助.

c# reflection reflector assemblies reflection.emit

3
推荐指数
1
解决办法
2192
查看次数

你有没有反映过Reflector?

Lutz Roeder的反光板,就是这样.

它混淆了.

在此输入图像描述

我还是不明白这一点.有人可以解释一下吗?

.net reflector

2
推荐指数
4
解决办法
1817
查看次数

是否有一个Reflector加载项或其他工具来处理自动属性?

Reflector在自动属性中显示此信息:

public string AddressLine1
{
    [CompilerGenerated]
    get
    {
        return this.<AddressLine1>k__BackingField;
    }
    [CompilerGenerated]
    set
    {
        this.<AddressLine1>k__BackingField = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何加载项或其他工具将其转换为:

public string AddressLine1 { get; set; }
Run Code Online (Sandbox Code Playgroud)

我不相信这些加载项中的任何一个都支持上述内容:http://www.codeplex.com/reflectoraddins

如果你证明我错了,买就会很开心.

c# reflector automatic-properties c#-3.0

2
推荐指数
1
解决办法
786
查看次数

是否可以使用像 Reflector 这样的反汇编器来查看成员变量的硬编码值?

鉴于下面的示例源代码,是否有人可以看到_secret使用反汇编程序的价值?我没有看到通过 Reflector 获得价值的方法,但我没有经常使用它。假设代码没有以任何方式混淆。

class Foo
{
    private string _secret = @"all your base are belong to us";

    public void Foo()
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

.net reflector disassembly

2
推荐指数
1
解决办法
365
查看次数

反射器和编译器生成的代码

我有一个我在Reflector中反汇编的DLL,然后生成一个类.该类包含无法在Visual Studio中编译的代码.

我认为它是leagl IL代码,但是如何从中生成更高级别的c#.

似乎yield和IEnumerator生成类似<>1__state;IL的东西,它们不会编译.

有谁知道如何从包含这种IL的反射器生成一个类?

是否有反射器插件可以解决这个问题?

    private sealed class <Rule_Document>d__0 : IEnumerable<HtmlTag>, IEnumerable, IEnumerator<HtmlTag>, IEnumerator, IDisposable
    {
        private int <>1__state;
        private HtmlTag <>2__current;
        public HtmlParser <>4__this;
        private int <>l__initialThreadId;
        public HtmlTag <htmlTag>5__1;
Run Code Online (Sandbox Code Playgroud)

.net c# reflector

2
推荐指数
1
解决办法
1068
查看次数

为什么这个反汇编的代码不能用C#编译?

我从CIL到C#转换器(.Net反射器)恢复了以下类.不幸的是,VS2010不会编译它.知道如何让它工作吗?

using System;
using System.IO;
using System.Reflection;
internal class <Module>
{
    static <Module>()
    {
        IPLRes.ExeDirectory = new FileInfo(Assembly.GetExecutingAssembly>>().Location).DirectoryName;
        AppDomain expr_1E = AppDomain.CurrentDomain;
        expr_1E.AssemblyResolve += new ResolveEventHandler(expr_1E.AssemblyNotFound);
        IPLRes.LogDirectory = IPLRes.ExeDirectory + "\\log";
        IPLMsg.Log("Loader", "Application starting...");
    }
    public static Assembly AssemblyNotFound(object A_0, ResolveEventArgs A_1)
    {
        string text = A_1.Name;
        text = text.Remove(text.IndexOf(","));
        text = IPLRes.ExeDirectory + "\\bin35\\" + text + ".dll";
        return Assembly.LoadFile(text);
    }
    [STAThread]
    public static void IPLMain(string[] A_0)
    {
        if (A_0.Length >= 1)
        {
            IPLRes.BatchMode = A_0[0].Contains("batch");
        }
        if (!IPLRes.BatchMode) …
Run Code Online (Sandbox Code Playgroud)

c# reflector cil module

2
推荐指数
1
解决办法
714
查看次数

防止.NET逆向工程/反编译

有没有办法阻止.NET Reflector在程序中工作?

例如:我正在开发一个具有机密数据的程序(如gMail地址和密码),我不希望有人能看到它们.

我怎样才能做到这一点?

c# wpf reflector

2
推荐指数
1
解决办法
960
查看次数

如何编辑jar内的代码?

可能的重复:
从 jar 文件更改类的代码

我从 .Net 那里得到了这个,那里有 Reflector 和 Reflexil,使我能够打开程序集并编辑其代码,而无需重新编译它。我做了一些研究,发现了 jd-gui,它可以让我查看 jar 内的 java 代码,但我找不到任何类似于 reflexil 的东西。

有没有什么软件可以让我修改 jar 而不必重新编译它们?

java reflector decompiling jar reflexil

2
推荐指数
1
解决办法
1万
查看次数