Например:
internal class C
{
public void M()
{
Console.WriteLine("foo");
}
}
Для меня это читается как «метод, к которому может получить доступ любой, независимо от сборки, находящейся внутри класса, к которому можно получить доступ только из кода в той же сборке».
Мой опыт работы с компилятором подсказывает мне, что если я делаю что-то подобное и не получаю предупреждения, вероятно, для этого есть веская причина.
Итак, я полагаю, либо
- Что-то не хватает в моем понимании уровней защиты.
- Может быть предупреждение, но его нет.
(если 2, это не попытка на это пожаловаться - я просто хочу понять)
C
иM
не настоящий код ...? algo: one char variable = ›Удачи, я вполне ... :) - person gdoron is supporting Monica   schedule 01.05.2012private class C { }
не разрешено, аclass C { }
разрешено? ИногдаC#
бывает жестким ради жесткости. - person John Alexiou   schedule 01.05.2012private class C{}
совершенно законен внутри типа;class C{}
означает то же самое, что иprivate class C{}
внутри типа.private class C{}
не допускается вне типа, потому чтоprivate
означает закрытый для этого типа, что, очевидно, бессмысленно вне типа! В C #internal class C{}
можно использовать вне типа, аclass C{}
означает то же самое вне типа. - person Eric Lippert   schedule 01.05.2012private
также означает приватность в пространстве имен, как это подразумевается. - person John Alexiou   schedule 01.05.2012