Nån som kan förklara vad detta är för nåt, dessa verkar vara nån typ av klass som ej behöver deklareras och ej heller instansieras, utan dom bara "finns" och dom innehåller också värden direkt utan att man behöver anropa någon metod.
tex height innehåller högden på skärmen. rakt av bara och man kan tex använda dem såhär:
int hojd=Microsoft.DirectX.Direct3D.Manager.Adapters.Default.CurrentDisplayMode.Height;
hur kan det komma sig att detta finns och vad är detta för typ av klasser?. de behöver inte deklareras och inte instansieras utan bara "finns" med ett värde i.
"Microsoft.DirectX.Direct3D.Manager" är ju en klass som har en egenskap som heter "Adapters" som returnerar en "AdapterListEnumerator" klass.
"AdapterListEnumerator" har en egenskap som heter "Default" som returnerar en "AdapterInformation" klass.
"AdapterInformation" har en egenskap som heter "CurrentDisplayMode" som returnerar en "DisplayMode" structure.
Och i "DisplayMode" hittar man slutligen alla Format,Width,Height,RefreshRate som jag var ute efter. Men man behöver ju inte extrahera och instansiera alla klasserna och sånt för att kunna använda deras egenskaper utan man bara forcerar fram klass genom klass
såhär: "Microsoft.DirectX.Direct3D.Manager.Adapters.Default.CurrentDisplayMode.Format" tills man får fram det man söker. Kan nån förklara hur och varför man kan göra detta, och vad kallas det?.
Om det kallas nåt speciellt vet jag inte, men man kan ju tex åstadkomma det genom att definiera klasser inuti i andra klasser (vilket är tillåtet i .NET).
Exempel:
namespace Namespace1.Namespace2
{
public class Klass1
{
public class Klass2
{
public class Klass3
{
public class Klass4
{
public static string innerString="Kolla! Jag är längst in!";
}
}
}
}
//Nån annanstans i programmet:
MessageBox.Show(Namespace1.Namespace2.Klass1.Klass2.Klass3.Klass4.innerString);
}
Även namespaces kan nästlas (som synes).
270 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c