从其他Dll文件访问内部类

冰人

我对一些不起作用的代码感到困惑,但奇怪的是,它们正在起作用,我知道我只是忽略了一些显而易见的事情。我正在查看Accord.NET框架的源代码,我下载了它并对其进行了很好的编译,但是我对某些事情感到困惑。在其中一个程序集中,名为Accord.Math的文件名为Indices.cs这是定义:

internal static class Indices
{
    // Lots of code
    // ...
    // ...
}

您可以在第35行看到它

在另一个名为Accord.Statistics的程序集中,有一个名为Tools.cs的文件在该文件中,有以下行:

return Accord.Math.Indices.Random(k, n);

您可以在第329行看到它

Accord.Math.Indices由于该行被标记为,因此我对如何引用该类感到困惑internal我的理解是,标记为的类internal只能由驻留在同一DLL文件中的类访问。有人可以解释这是如何工作的吗?

网络

这是因为在文件中AssemblyInfo.cs您具有以下属性:

[assembly: InternalsVisibleTo("Accord.Tests.Math, PublicKey=...")] 
[assembly: InternalsVisibleTo("Accord.Tests.MachineLearning,...")] 
[assembly: InternalsVisibleTo("Accord.Tests.Statistics,...")] 
[assembly: InternalsVisibleTo("Accord.Statistics, ...")]

这些属性指定通常仅在当前程序集中可见的类型对指定程序集可见(在您要求它对Accord.Statistics可见的情况下)。

您可以在MSDN上了解更多信息InternalsVisibleToAttribute

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从其他Dll文件访问内部类

来自分类Dev

从内部类调用其他类

来自分类Dev

如何访问内部类?

来自分类Dev

访问内部类变量

来自分类Dev

从其他文件访问变量

来自分类Dev

从其他班级访问内部班级

来自分类Dev

流星-如何从其他JS文件调用外部类方法?

来自分类Dev

内部类访问外部类的嵌套枚举

来自分类Dev

从内部类对象访问外部类函数

来自分类Dev

内部类访问外部类的嵌套枚举

来自分类Dev

从内部类访问外部类的字段

来自分类Dev

从内部类对象访问外部类函数

来自分类Dev

从内部类访问公共枚举

来自分类Dev

访问内部类中的变量

来自分类Dev

从内部类中的with访问的变量

来自分类Dev

内部类中的变量访问

来自分类Dev

从外部类通过内部类实例访问外部类字段

来自分类Dev

从嵌套器内部类访问外部内部类

来自分类Dev

在静态内部类内部访问外部类的方法

来自分类Dev

使用其他接口实现实例化Java中的匿名内部类

来自分类Dev

Java 8 lambda是否被编译为内部类,方法或其他东西?

来自分类Dev

“无法在用其他方法定义的内部类中引用非最终变量”问题

来自分类Dev

无法在以其他方法定义的内部类中引用非最终变量lblNewLabel

来自分类Dev

无法在以其他方法定义的内部类中引用非最终变量lblNewLabel

来自分类Dev

访问其他Java类中的文件?

来自分类Dev

访问其他文件上的Lua函数

来自分类Dev

如何从其他功能访问文件

来自分类Dev

从其他JS文件访问函数-DOJO

来自分类Dev

其他QML文件中的访问元素