Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
public XString(string TheString) { this.TheString = TheString; }
public override string ToString() { return TheString; }
public static implicit operator XString (string TheString) { return new XString(TheString); }
public static implicit operator string (XString TheXString) { // Man kan faktisk gøre sådan her: // // return TheXString.TheString; // // - det må da være en fejl når nu TheString er erklæret private?!:
return TheXString.ToString(); // Den rigtige måde! }
public static bool operator < (XString a, XString b) { // CompareTo returnere en int return (a.ToString().CompareTo(b.ToString()) > 0); }
public static bool operator > (XString a, XString b) { return (a.ToString().CompareTo(b.ToString()) < 0); } }
class App { [STAThread] static void Main(string[] args) { // Muligt pga. den første "implicit operator" erklæring. XString XStringDemo = "Eksperten er din ven.";
// Muligt pga. den anden "implicit operator" erklæring. string StringDemo = XStringDemo;
XString XStringDemo2 = "Men .NET er nu også rimeligt fedt.";
// Hvad siger Microsoft? if (XStringDemo > XStringDemo2) Console.WriteLine("Eksperten er nu federe end .NET!"); else Console.WriteLine(".NET slår Eksperten til enhver tid!"); } } }
Hm.. ok. Så er der nok ikke andet at gøre en at bide i det sure æble og bruge CompareTo()
Er der nogen grundt til at den operator ikke er understøttet. Det er jo en gundlæggende type i sproget, og det burde være ret tydeligt hvad man ville med den operator ?
- så er TheXString jo en instans af klassen XString, og for sådanne burde jeg jo normalt ikke kunne se fields som er erklæret private. Det var i hvert fald noget som jeg med 100% garanti ikke havde ventet (men siden at Intelli Sense nu viste det - måtte det jo prøves).
Jeg er skam godt klar over at der mangler en ***masse*** metoder, men jeg tog dem ikke med for at kernen i det ikke skulle drukne i støj. Hvis jeg selv skulle bruge det, ville jeg implementere dem enkeltvis efterhånden som jeg fik brug for dem :^)
Hmm... skal string1 < string2 returnere hvilken en der er længst eller hvilken en der alfabetisk kommer først (eller evt. hvilken en der er lowest case ;))?
Personligt er jeg meget varsom med operatoroverloading fordi jeg rent faktisk mener at det forvirrer mere end det gavner.
Jeg ville mene at den skulle angive det alfabetiske forhold uden hensyn til upper- eller lowercase bogstaver, men ok.... jeg kan godt se din pointe.
Jeg syntes ihvertfald at det er irreterende at man ikke har mulighed for at overloade den. Men nu er jeg også ret glad for overloading, da jeg syntes at det giver mulighed for at lave mange ting mere tydeligt.
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.