Могут ли частные классы существовать на C#, кроме классов Inner?Концепция частного класса в C#
ответ
Нет, нет. Вы не можете иметь частный класс, если он не вложен.
В каком сценарии для другого класса вы бы хотели иметь «частный» класс?
Модификатор internal
можно использовать для создания класса, который отображается только в текущей сборке.
// the class below is only visible inside the assembly in where it was declared
internal class MyClass
{
}
No. Что бы масштабы такого класса быть?
Просто НИКАКИЕ. Ничего, если его во вложенном классе
Классы и структуры, которые не вложены в других классах или структуры могут быть либо общественных или внутреннего. Тип, объявленный как открытый, доступен любым другим типом. Тип, объявленный как внутренний, доступен только для типов внутри одной и той же сборки. Классы и структуры объявляются как по умолчанию, если ключевое слово public не добавлено в определение класса.
Определения класса или структуры могут добавлять внутреннее ключевое слово, чтобы сделать их уровень доступа явным. Модификаторы доступа не влияют на сам класс или структуру - он всегда имеет доступ к самому себе и ко всем своим членам.
Элементы структуры, включая вложенные классы и структуры, могут быть объявлены как общедоступные, внутренние или частные. Члены класса, включая вложенные классы и структуры, могут быть общедоступными, защищенными внутренними, защищенными, внутренними или частными. Уровень доступа для членов класса и членов структуры, включая вложенные классы и структуры, по умолчанию является закрытым. Частные вложенные типы недоступны извне содержащего типа.
Производные классы не могут иметь большую доступность, чем их базовые типы. Другими словами, у вас не может быть открытого класса B, который происходит от внутреннего класса A. Если это было разрешено, это привело бы к тому, что A публично, потому что все защищенные или внутренние члены A доступны из производного класса.
Вы можете включить определенные другие сборки для доступа к вашим внутренним типам с помощью InternalsVisibleToAttribute.
Я нашел информацию в C# Default access modifier of Main() method также быть полезным в связи с этим вопросом запрограммировав на других языках. В приведенном ниже примере MyClass будет внутренним, а static void main будет закрытым. По мере того, как Питер Талыор намекал на другие языки, я думаю, что это явно видно. Visual Studio в зависимости от проекта создает исходный файл cs программы, который похож на ниже; представление класса на вкладке «Вид» в Visual Studio, как указано в статье связанного стека, может быть полезно при проверке модификаторов доступа.
namespace MyNamespace{
class MyClass{
static void Main(string[] args){
}
}
}
Мы можем объявить класс приватным внутри другого класса.любезно найти код ниже о том, как добиться того же:
public class Class1
{
temp _temp ;
public Class1()
{
_temp = new temp();
}
public void SetTempClass(string p_str, int p_Int)
{
_temp.setVar(p_str, p_Int);
}
public string GetTempClassStr()
{
return _temp.GetStr();
}
public int GetTempClassInt()
{
return _temp.GetInt();
}
private class temp
{
string str;
int i;
public void setVar(string p_str, int p_int)
{
str = p_str;
i = p_int;
}
public string GetStr()
{
return str;
}
public int GetInt()
{
return i;
}
}
}
- 1. Концепция частного
- 2. C++ наследование частного класса
- 3. Атрибуты частного класса в C++
- 4. Частного класса
- 5. C++ защита частного char * класса
- 6. концепция класса в WPF
- 7. Испытание модуля частного класса в Objective-C
- 8. Доступ к элементам класса класса из класса частного класса C++
- 9. Расширение частного класса в Java
- 10. концепция класса и объекта
- 11. Простая абстрактная концепция класса
- 12. Открытая концепция класса Ruby
- 13. C# Частного член всех экземпляров класса
- 14. C++ Lambda захвата частного класса член
- 15. C++ - изменение частного члена извне класса
- 16. Доступ к структуре внутри частного класса C++
- 17. C++ двумерный массив как переменная частного класса
- 18. C# Концепция наследования советуем
- 19. Передача частного класса в форму
- 20. Концепция C++ с похожим доступом
- 21. Концепция бенчмаркинга в C#?
- 22. Концепция Threading в C#
- 23. данные частного класса
- 24. концепция сериализации - java - C#
- 25. Создание класса частного?
- 26. Рубин метод частного класса
- 27. Испытания модуля частного класса
- 28. Retrive частного класса
- 29. Использование частного класса
- 30. Концепция базового наследования C++
Я бы предположил, что OP более опытен в Java, что позволило бы видеть видимость в том же исходном файле. –