Autor Beitrag
lapadula
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 163
Erhaltene Danke: 10



BeitragVerfasst: Mi 26.07.17 20:20 
Hallo hab mal wieder eine Frage :D

Mal angenommen ich habe ein Programm A, welches modular aufgebaut ist.

Mit einem anderen Programm B soll man nun Klassen erstellen können, die in das Programm A on the fly einbunden werden. Aus diesen Klassen sollen dann Objekte gebildet werden usw, quasi so, als wären die schon seit Anfang an da.

Ist sowas möglich?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4346
Erhaltene Danke: 877


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 26.07.17 20:49 
Nicht ganz klar was du willst.

Erstmal klingt es nach einem normalen Plugin/Addin System.
Aber was soll das andere Programm? Möchtest du ein Codegenerator für diese Klassen haben um im im anderen Programm zu nutzen?

Für diesen Beitrag haben gedankt: lapadula
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 853
Erhaltene Danke: 139

Win7
VS 2013, VS2015
BeitragVerfasst: Mi 26.07.17 21:06 
Du kannst in Programm A ein Interface oder eine abstrakte Basisklasse definieren.

Dann kannst du beliebig viele Assemblies erstellen, in denen dann Ableitungen dieser Klasse drin sind. Nun kann Programm A diese Assemblies laden und die Objekte benutzen. (Entweder beim start "Alle Assemblies in diesem Ordner laden" oder auch ganz on the fly)

Das Programm B wäre in diesem Fall Visual Studio Commuinity (man scheibt Klassen und kompiliert diese zu einer Assembly).
Du kannst aber natürlich auch eine beliebig vereinfachte Variante von Visual Studio nach-programmieren. Je nach Zielgruppe.

Für diesen Beitrag haben gedankt: lapadula
lapadula Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 163
Erhaltene Danke: 10



BeitragVerfasst: Do 27.07.17 08:57 
@Ralf: Ja genau, dachte da einfach an einen einfach Textgenerator, nur Benutzerfreundlich. Z.B. der Benutzer gibt in eine TextBoxKlasse den Namen der Klasse ein und das Programm erstellt dann
ausblenden C#-Quelltext
1:
public class TextBoxKlasse.Text {}					

Dann TextBoxEigenschaft usw.

Am Ende ergibt das public class Test {public Property {get;set;}}


@jfheins: Ich glaube das ist genau das wonach ich suche, muss ich mal demnächst mal ausprobieren.

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2105
Erhaltene Danke: 385

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Do 27.07.17 12:22 
Diese Art von benutzerfreundlicher Codevervollständigung, nennt sich Refactoring. Dazu haben wir bereits ein Thema gehabt.
Bevor du dich schon damit auseinander setzt, solltest du dich mit der OOP vertraut machen.
Auch dein "Code-Generator" wird eine Klasse benötigen, die solch einen Code generieren kann, und nicht irgendwo, sondern strukturiert.
Du musst bedenken, wenn du in eine TextBox den Klassennamen eingibst, dann verliert das "Code-Textfeld" den Fokus und die zuletzt gesetzte Cursor-Position ist unbekannt. Der im Anschluss generierte Klassen-Code darf nicht irgendwo hinzugefügt oder gar einen bestehenden Text überschreiben, sondern muss an der richtigen Position gesetzt werden.

Aber erstmal kümmer' dich bitte um die Grundlagen. So einfach ist die Umsetzung auch wieder nicht.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)