Public Class K1 Public Class K2 Public v As Integer = 123 End Class Public Shared Sub Main(ByVal args As String()) Dim o As K1 = New K1 Console.WriteLine(o.K2.v) End Sub End Class
giver fejl men følgende virker:
Imports System
Public Class K1 Public Class K2 Public v As Integer = 123 End Class Public f As K2 = New K2 Public Shared Sub Main(ByVal args As String()) Dim o As K1 = New K1 Console.WriteLine(o.f.v) End Sub End Class
Nu referede jeg mere til, at Microsoft selv har brugt det, ikke at det var en feature i .Net.
Jeg synes personligt det er en praktisk ting i de tilfælde hvor du har brug for en helper der kun skal bruges i forbindelse med en enkelt klasse. Istedet for at have den til at ligge og flyde i et namespace nester du den i den klasse den skal bruges i. Dette er også set flere steder i .Net frameworket.
men det kunne man jo også have lavet rimeligt pænt ved hjælp af normale klasser og metoder med passende accessability
og så have undgået en kompleks sprog konstruktion
(selvom .NET nested classes ikke er nær så slem som Java inner classes)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.