Benutzer mit den meisten Antworten
Interface,Type

Frage
-
Hi,
kann mir mal bitte jemand ein Beispiel geben, wie man selber so eine Art Api schreibt.
Also einfach Interface, Klasse, Funktionen.
Wie kann ich sicher erreichen, dass nur das enum, dieser Typ etc. verwendet wird.
IntelliSense halt. Einfach dass ich das mal sehe.
Geht ja sicher in die Richtung class : Where etc.
Vielleicht hat jemand ein Einführungsbeispiel parat. Wäre toll.
Gruß, Markus
Antworten
-
Auch alle anderen Fragen von dir klingen sehr nach Sandra ;)
Ein Interface ist nur ein Vertrag an den sich alle halten müssen. Sagen wir mal wir wollen auf Windows, Android und iOS entwickeln und uns einfach Dateien vom System holen. Dafür erstellen wir dann ein Interface wie dieses hier IAssets und implementieren es auf den Systemen Android, Windows (UWP), iOS. Über das Interface könnten wir uns jetzt eine Datei holen und es kann uns egal sein auf was für einem System wir grade sind.
Ein weiteres Interface das Du dir anschauen kannst ist IDisposable. Implementierst Du dieses Interface in eine Klasse, könntest Du diese Klasse in einem Using Block verwenden
Gruß Thomas
Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!
Dev Apps von mir: Icon für UWP, UI Strings
Andere Dev Apps: UWP Community Toolkit Sample App- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 2. Januar 2018 08:59
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 9. Januar 2018 06:36
-
Hi,
keine Ahnung, was Du meinst.
Die Grundlagen zu Interface, Class, ... musst Du dir selbst aneignen.
Intellisense liefert lediglich Unterstützung bei der Codeeingabe auf Basis der vorhandenen Objekte (Schnittstellen, Klassen, Methoden, usw.) und hat nichts mit einer API oder ähnlichem zu tun.
Was nun class : Where ... mit deiner Frage (deren Inhalt ich aber eh nicht verstanden habe) zu tun haben soll, weiß ich dementsprechend auch nicht.
Formular bitte deine Fragen so, dass man sie versteht.
P.S.: Klingt verdächtig nach Sandra.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 2. Januar 2018 08:59
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 9. Januar 2018 06:36
-
Hallo,
Wenn ich Add nehme muss ich new nehmen, weil Add in der Basis vorhanden ist. Nehme ich einen neuen Namen, entfällt das. Kann man das so einfach sagen.
Nur soviel: "new" soll verdeutlichen, dass es in einer Basisklasse bereits ein gleichnamiges Element (Methode) gibt. Das ist prinzipiell zulässig und vermeidet lediglich eine Kompiler-Warnung, d.h. es geht auch ohne "new". Das Element in der Basisklasse kann "virtual" sein, muss es aber nicht. Virtuelle Methoden können mit override überschrieben werden. Oder mit new "versteckt" werden, wie auch nicht-virtuelle Methoden. Du solltest dir einfach mal ein eigenes Beispiel (Basisklasse, abgeleitete Klasse) machen und die geringfügigen Unterschiede herausfinden.
Ein prägnantes Beispiel hast du doch schon selbst beigefügt ;-)
Gruß
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 2. Januar 2018 08:59
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 9. Januar 2018 06:36
Alle Antworten
-
Hi,
keine Ahnung, was Du meinst.
Die Grundlagen zu Interface, Class, ... musst Du dir selbst aneignen.
Intellisense liefert lediglich Unterstützung bei der Codeeingabe auf Basis der vorhandenen Objekte (Schnittstellen, Klassen, Methoden, usw.) und hat nichts mit einer API oder ähnlichem zu tun.
Was nun class : Where ... mit deiner Frage (deren Inhalt ich aber eh nicht verstanden habe) zu tun haben soll, weiß ich dementsprechend auch nicht.
Formular bitte deine Fragen so, dass man sie versteht.
P.S.: Klingt verdächtig nach Sandra.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 2. Januar 2018 08:59
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 9. Januar 2018 06:36
-
Auch alle anderen Fragen von dir klingen sehr nach Sandra ;)
Ein Interface ist nur ein Vertrag an den sich alle halten müssen. Sagen wir mal wir wollen auf Windows, Android und iOS entwickeln und uns einfach Dateien vom System holen. Dafür erstellen wir dann ein Interface wie dieses hier IAssets und implementieren es auf den Systemen Android, Windows (UWP), iOS. Über das Interface könnten wir uns jetzt eine Datei holen und es kann uns egal sein auf was für einem System wir grade sind.
Ein weiteres Interface das Du dir anschauen kannst ist IDisposable. Implementierst Du dieses Interface in eine Klasse, könntest Du diese Klasse in einem Using Block verwenden
Gruß Thomas
Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!
Dev Apps von mir: Icon für UWP, UI Strings
Andere Dev Apps: UWP Community Toolkit Sample App- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 2. Januar 2018 08:59
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 9. Januar 2018 06:36
-
Hi,
ja. Die Idee ist.
z.B. Ich habe eine Funktion Test(string i1, string i2, string i3)
Wenn ich diese Funktion aufrufe muss ich zwingend 3 Parameter von diesem Typ übergeben,
andernfalls meckert der Compiler sofort. Diese Richtung meine ich, dass man gleich im Compiler sieht.
Gruß, Markus
-
Wenn Du eine Methode anlegst die 3 Parameter vom Typ string erwartet und sie keine weiteren Überladungen hat dann wird dir VS und der Compiler ein Fehler melden.
Gruß Thomas
Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!
Dev Apps von mir: Icon für UWP, UI Strings
Andere Dev Apps: UWP Community Toolkit Sample App -
Hi,ich meine diese Richtung.
Wenn ich Add nehme muss ich new nehmen, weil Add in der Basis vorhanden ist.
Nehme ich einen neuen Namen, entfällt das.
Kann man das so einfach sagen.Zu dieser Thematik suche ich ein prägnantes Beispiel, über Möglichkeiten, Ansätze.
Vielleicht noch das, dann kann man es abschließen.
public interface IEntry { String ToString(); } public class Base : IEntry { public Base() { } public Base(String Price) { this.Price = Price; } public String Price { get; set; } public override String ToString() { return this.Price; } } public class ProgramA : Base { public ProgramA() { } public ProgramA(String Price) { if (Price == "\0") Price = ""; this.Price = Price; } public override String ToString() { return this.Price; } } public class MyList<T> : List<T> where T : IEntry { public MyList() { } public new bool Add(T input) { Base s = input as Base; if ((input != null) && (s != null) && (s.Price != null) && s.Price != "") { base.Add(input); return true; } return false; } public bool MyAdd(T input) { Base s = input as Base; if ((input != null) && (s != null) && (s.Price != null) && s.Price != "") { base.Add(input); return true; } return false; } }
Gruß, Markus -
Hi,
ich meine diese Richtung.
Wenn ich Add nehme muss ich new nehmen, weil Add in der Basis vorhanden ist.
Nehme ich einen neuen Namen, entfällt das.
Kann man das so einfach sagen.eigentlich fällt mir leider nur wieder eins ein:
Was zur Hölle meinst Du?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Ich denke mal Du verwechselst hier Interface und abstrakte Klassen
Gruß Thomas
Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!
Dev Apps von mir: Icon für UWP, UI Strings
Andere Dev Apps: UWP Community Toolkit Sample App -
Hallo,
Wenn ich Add nehme muss ich new nehmen, weil Add in der Basis vorhanden ist. Nehme ich einen neuen Namen, entfällt das. Kann man das so einfach sagen.
Nur soviel: "new" soll verdeutlichen, dass es in einer Basisklasse bereits ein gleichnamiges Element (Methode) gibt. Das ist prinzipiell zulässig und vermeidet lediglich eine Kompiler-Warnung, d.h. es geht auch ohne "new". Das Element in der Basisklasse kann "virtual" sein, muss es aber nicht. Virtuelle Methoden können mit override überschrieben werden. Oder mit new "versteckt" werden, wie auch nicht-virtuelle Methoden. Du solltest dir einfach mal ein eigenes Beispiel (Basisklasse, abgeleitete Klasse) machen und die geringfügigen Unterschiede herausfinden.
Ein prägnantes Beispiel hast du doch schon selbst beigefügt ;-)
Gruß
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 2. Januar 2018 08:59
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 9. Januar 2018 06:36