访问'内部' C#interactive

时间:2016-07-26 09:25:45

标签: c# visual-studio-2015 c#-interactive

在VS2015中使用C#交互式控制台,我想访问标记为internal的属性和类。通常,这是通过将InternalsVisibleAttribute添加到相关项目来完成的。我试过添加csc.exe作为朋友'汇编,但我仍然有访问问题。

  1. 这是通过C#交互式控制台访问内部类成员的正确方法吗?
  2. 如果是,我需要什么dll / exe来使内部可见?

1 个答案:

答案 0 :(得分:0)

这是可能的,但是我不确定为什么需要这样做。类型是内部的,这是有原因的。这是可以做到的-

使用以下代码创建控制台应用程序-

GET

添加内部类-

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
    }
}

构建您的解决方案。 在您的c#交互式窗口中-

internal class MyClass
{
    internal string MyMethod()
    {
        return "Hello world!";
    }
}

注意:鉴于这是c#交互窗口,因此不会加载目标组件的依赖对象,即,如果程序集引用内部方法中引用的其他程序集,则c#交互将失败执行方法,除非它有权访问那些程序集并可以加载它们。