Hallo,
ich würde gerne mein erstes SDK Projekt entwickeln, aber es scheint ein wenig speziell zu sein.
Im Netz finde ich nur Beispiele für den Editor zu erweitern mit Farben und Rechtecken und weiß der Teufel.
Aber ich habe folgende Idee, die sich zwar einfach anhört, aber ohne zumindest Beispiele die in eine Ähnliche Richtung gehen schwer zu machen für einen Einsteiger.
Und zwar geht's darum, ich habe folgende Klassen:
class Test : ITest
{
}
class ModelA : Test
{
}
class ModelB
{
public ITest TestEigenschaft { get; set; }
}
Und dann habe ich ein Programm mit einer X beliebigen Funktionen, nun tippe ich z.B. ein
var blub = new ModelB();
blub.TestEigenschaft = new
So und jetzt möchte ich gerne eine Intellisense Box anzeigen, mit allen Klassen aus dem Projekt die das ITest Interface implementieren und nicht wie es Standard ist, alle.
Per Reflection raus finden welche Typen das Interface implentieren ist kein Problem, das kriege ich hin.
Aber der Teil mit der Intellisense Erweiterung, rauszufinden was vor den " = new" steht und das auch nur auszuführen wenn das eingegeben wurde, dass ist das Problem, weil es halt nur Beispiele mit Margins usw. gibt, aber nix mit Intellisense.
Könnt ihr mir ein wenig unter die Arme greifen?
Grüße
Auf deine Frage weiß ich keine Antwort, und ich bin mir auch gar nicht sicher, ob das überhaupt geht.
Ich möchte dich aber darauf hinweisen, dass das jetzige Verhalten so durchaus Sinn macht.
Was ist, wenn jemand folgendes eintippen möchte:
blub.TestEigenschaft = new TestFactory().createTestObject();
TestFactory implementiert ITest nicht, ist aber ein gültiger Wert. Das ist nur ein Beispiel, man könnte z.B. auch den Cast Operator überladen, oder auch irgendeinen anderen Operator, der das entsprechende Objekt zurückgibt, so in der Art:
blub.TestEigenschaft = new NichtTest() * 5;
Also, wenn du schon solche Erweiterungen machen willst, dann eher die Einträge vorsortieren, und nicht komplett ausblenden. Aber wie gesagt, bin mir gar nicht sicher, ob Visual Studio hier überhaupt Eingriffmöglichkeiten bietet.
Guter Einwand, vorsortieren scheint mir dann die richtige Wahl.
Hmm...tja und ob es überhaupt geht, wäre natürlich prima wenn das ein erfahrender SDK Entwickler beantworten könnte.