J'ai désassemblé la DLL .NET 'System' et j'ai regardé le code source des classes de variables (string, int, byte, etc.) pour voir si je pouvais comprendre comment faire une classe qui pourrait prendre une valeur. J'ai remarqué que la classe "Int32" hérite de ce qui suit: IComparable, IFormattable, IConvertible, IComparable, IEquatable.Création de votre propre classe "int" ou "string"
Les classes String et Int32 ne sont pas héritables, et je ne peux pas comprendre ce que dans ces interfaces héritées permet aux classes de contenir une valeur. Ce que je voudrais est quelque chose comme ceci:
public class MyVariable : //inherits here
{
//Code in here that allows it to get/set the value
}
public static class Main(string[] args)
{
MyVariable a = "This is my own custom variable!";
MyVariable b = 2976;
if(a == "Hello") { }
if(b = 10) { }
Console.WriteLine(a.ToString());
Console.WriteLine(a.ToString());
}
Je peux faire cette compilation, mais ... Pourquoi? –
De plus, le second if manque un '=' (devrait probablement être 'b == 10') –
Dans la ligne 12 du code ci-dessus, devrait-il être' if (b == 10) {} 'au lieu de' if (b = 10) {} '? –