Я смущен каким-то кодом, который не должен работать, но, как ни странно, работает, и я знаю, что я просто пропускаю что-то очевидное. Я смотрю на исходный код для рамки Accord.NET, и я скачал ее, и ее компиляция просто прекрасна, но я чем-то смущен. В одной из сборок, называемой Accord.Math, есть файл с именем Indices.cs. Вот определение:Доступ к внутреннему классу из другого Dll-файла
internal static class Indices
{
// Lots of code
// ...
// ...
}
Вы можете увидеть это на line 35.
В другой сборке, называемой Accord.Statistics, есть файл под названием Tools.cs. В этом файле есть такая строка:
return Accord.Math.Indices.Random(k, n);
Вы можете увидеть это на line 329.
Я смущен, как эта строка может ссылаться на класс Accord.Math.Indices
, так как он обозначен как internal
. Я понимаю, что класс, помеченный как internal
, может быть доступен только классам, которые находятся в одном DLL-файле. Может кто-нибудь объяснить, как это работает?
Просто, когда я думал, что я знал, что каждый трюк в C# книги .... Я понятия не имел, вы могли бы сделать это. Спасибо, что ответили! – Icemanind