Eine der Registerkarten enthält mehrere Buttons. Vorbild ist das Fenster für die Eigenschaften einer Aufgabe der Aufgabenplanung von Microsoft Windows. [2] [3] using;
public class MainForm: System. Windows. Forms. Form
{
private System. TabControl newTabControl;
private System. TabPage actionsTabPage;
private System. TabPage triggersTabPage;
private System. TabPage generalTabPage;
private System. StackOverGo - Überladen des Structuremap-Konstruktors. TabPage conditionsTabPage;
private System. TabPage settingsTabPage;
private System. TabPage historyTabPage;
private System. Button newButton;
private System. Button editButton;
private System. Button deleteButton;
// Konstruktor des MainForms. public MainForm ()
InitializeMenuStrip ();}
// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors. public static void Main ()
Application. Run ( new MainForm ());}
// Initialisiert die Registerkarten. private void InitializeTabPages ()
// Erzeugt 6 Registerkarten und 3 Buttons durch Aufruf der Standardkonstruktoren. newTabControl = new System.
Stackovergo - Überladen Des Structuremap-Konstruktors
Konstruktoren für struct -Typen ähneln Klassenkonstruktoren, können aber keinen expliziten parameterlosen Konstruktor enthalten, da er automatisch vom Compiler bereitgestellt wird. Dieser Konstruktor initialisiert alle Felder in struct auf die struct. Dieser parameterlose Konstruktor wird jedoch nur aufgerufen, wenn struct mit new instanziiert wird. Dieser Code verwendet den parameterlosen Konstruktor z. B. für Int32, damit sichergestellt ist, dass der ganzzahlige Typ initialisiert wird:
int i = new int();
Console. WriteLine(i);
Der folgende Code verursacht jedoch einen Compilerfehler, da nicht new verwendet wird, und da versucht wird, ein Objekt zu verwenden, das nicht initialisiert wurde:
int i;
Alternativ können auch Objekte, die auf structs basieren, – einschließlich aller integrierten numerischen Typen – initialisiert oder zugewiesen und anschließend verwendet werden, so wie im folgenden Beispiel:
int a = 44; // Initialize the value type...
int b;
b = 33; // Or assign it before using it.
capacity = capacity; this = new object [capacity];}
Dann wollte ich den + Operator überladen mit:
markieren C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: public static ValueSet operator +(ValueSet obj, int zahl) { for ( int i = 0; i < count; i++) if ([i] == zahl) return false; [count] = value;; return obj;}
Mein Problem ist aber, dass ich ständig die Fehlermedlung "Einer der Parameter eines binären Operators muss der enthaltende Typ sein. " bekomme. Was ich aber komisch finde, denn einer der Parameter ist doch von diesem Typ. Was muss ich anders machen? P. S. :Die Print funktion ist mir erstmal nicht so wichtig. Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
Verfasst: So 24. 11 00:31
in der EE! ThE_JaCk hat folgendes geschrieben: Was ich aber komisch finde, denn einer der Parameter ist doch von diesem Typ. Nein, von einem anscheinend gleichnamigen, aber untypisierten Typ. Du hast den Typparameter vergessen, genauso beim Rückgabetyp. PS: Es gibt einen impliziten Cast von bool nach ValueSet?