vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
[Einsteiger] Verschachtelte Klassen & Werteaustausch 
Autor: minime
Datum: 08.11.08 21:06

Hallo,

ich bin recht frisch in C# und habe eine recht einfache Frage. Ich möchte eine Klasse
erstellen , die eine Farbe in verschiedenen Farbräumen beinhaltet und diese bei Eingabe
untereinaner konvertiert. Nennen wir diese Klasse nColor.

public nColor myColor = new nColor();
public double Hue = 0;
 
myColor.aRGB.Set (255,255,255,255);
Hue = myColor.aHSV.Hue;
Soweit, so gut. Die grundlegende Logik bereitet mir keine Probleme und auch nicht die
Konvertierung der Farbräume soll dass Thema sein, vielmehr die Struktur der Klasse ansich.

Ich habe die Klasse verschachtelt erstellt, d.h. jeder Farbraum ist eine Unterklasse.


public class nColor
 
{
private byte _a;
private byte _r;
private byte _g
private byte _b;
 
// Konstruktor und Funktionen zum Lesen/Schreiben der "BASIS" aRGB werte.
 
public rgbSpace RGB = new rgbSpace();
public hsvSpace HSV = new hsvSpace();
 
private class rgbSpace
{
private byte _rr;
private byte _rg
private byte _rb;
 
// Funktionen zum Lesen/Schreiben der rgbSpace werte und dem entsprechenden _
  setzen der "basis" rgb werte.
}
 
private class hsvSpace
{
private byte _hh;
private byte _hs
private byte _hv;
// Funktionen zum Lesen/Schreiben der hsvSpace werte und dem entsprechenden _
  setzen der "basis" rgb werte.
}
 
}
Nun zum Problem :

Wenn ich aus der Unterklasse hsvSpace auf die grundlegenden Werte _a,_r,_g,_b zugreifen
möchte ,muss ich diese als Static deklarieren , was ja nicht ganz sinnig ist , da ich ja gerne
mehr als eine Farbe definieren können möchte.

Wie gestalte ich also die Struktur der Klasse am besten ?

Nochmal die Logik der Klasse :

nColor
nColor.RGB
nColor.RGB.R
nColor.RGB.G
nColor.RGB.B
nColor.RGB.Set(r,g,b)
nColor.HSV
nColor.HSV.H
nColor.HSV.S
nColor.HSV.V
nColor.HSV.Set(h,s,v)
im code , soll sie dann folgendes können :

[1]  public nColor Farbe = new nColor();
[2]  public byte r = 0;
[3]  Farbe.HSV.Set(289,0.25,0.75);
[3]   r = Farbe.RGB.R;
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt. Eventuelle Syntax oder
Tippfehler bitte ignorieren , bin neu in C# und hab es net im im Compiler getippt .

Vielen Dank im Vorraus,

gruß,
minime
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
[Einsteiger] Verschachtelte Klassen & Werteaustausch3.323minime08.11.08 21:06
Re: [Einsteiger] Verschachtelte Klassen & Werteaustausch1.560ModeratorDaveS08.11.08 21:36
Re: [Einsteiger] Verschachtelte Klassen & Werteaustausch1.496minime08.11.08 22:29
Re: [Einsteiger] Verschachtelte Klassen & Werteaustausch1.478minime09.11.08 00:02
Re: [Einsteiger] Verschachtelte Klassen & Werteaustausch1.488minime09.11.08 04:21
Re: [Einsteiger] Verschachtelte Klassen & Werteaustausch1.589ModeratorDaveS10.11.08 11:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel