Какова основная разница между
]] В vb.net есть экземпляр по умолчанию в каждом окне, а C# - нет. Это различие возникло из разных концепций дизайна разных языков. Vb.net's (name)
атрибут непосредственно идентифицирует экземпляр класса окна, в то время как C#не имеет концепции этого экземпляра по умолчанию.
примеры по умолчанию vb.net:
]
Дизайн экземпляра по умолчанию VB.NET предназначен для облегчения программистов, которые мигрировали из VB6. Программистам VB6 часто трудно различить типы и типы типов и типов.
Нет экземпляра по умолчанию в экземпляре по умолчанию в C#: C#подчеркивает -ориентированные объекты и требует, чтобы программисты явно создавали экземпляры. В отличие от vb.net, C#не позволяет каким -либо атрибутам и методам назвать глобальное пространство имен. Следовательно, C#не предоставляет механизм определения экземпляра по умолчанию типа определения.
пример кода:
в C#, формирование и отображение окна явно:
// единственный путь Form1 frm = new form1 (); frm.show (); в vb.net он может быть неявно создан или явно экземпляр:
'Общий метод один Form1.show () 'Общий метод 2 Dim FRM как новый Form1 () Frm.show ()]
сгенерированный код IL сгенерирован:
код IL, сгенерированный двумя кодом, отличается. В методе экземпляра по умолчанию vb.net используйтеnewobj
инструкцию для создания// 唯一方法
Form1 frm = new Form1();
frm.Show();
в недавно созданном экземпляре. В C#нет необходимости вызывать метод
show ()' 常用方法一
Form1.Show()
' 常用方法二
Dim frm As New Form1()
frm.Show()
c#Можно ли моделировать экземпляр по умолчанию? ]]
может смоделировать экземпляр по умолчанию, используя статические атрибуты в классе окна C#для моделирования экземпляра по умолчанию. Тем не менее, этот метод не является достаточно элегантным и требует дополнительного кода модели.
] причины разработки различий:
различия в дизайне между VB.NET и C#отражают их соответствующие целевые пользователи. Характеристики экземпляра по умолчанию VB.NET предназначены для того, чтобы помочь программистам, которые переезжают из VB6. C#фокусируется на принципах объекта -ориентированных и поощряет экземпляры классов, чтобы разработчики могли лучше контролировать код.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3