vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 03.09.17 23:47

Hallo alle.

Der Titel sagt eigentlich schon alles.
Ich möchte ein Modul, für alle Projekte, also WindowsApp, Konsolenanwendung,
Dienst et cetera, verfügbar machen, ich konnte nichts finden,
ist das möglich, und wenn ja, wie ?

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: Manfred X
Datum: 04.09.17 07:36

Hallo!

Das ist vermutlich keine gute Idee.
"Extension Methods", deren Modul in einer Bibliothek angesiedelt ist,
werden bei der Aufruf-Zuordnung zur entsprechenden Klasse nur erkannt,
wenn es keine gleichnamigen Routinen innerhalb des rufenden Projekts oder
in anderen Bibliotheken gibt (Risiko von Namens-Überschneidungen).

Oder meinst Du mit "Extensions" etwas anderes?
In dem Fall kannst Du in einem DLL-Projekt eine Klasse erstellen,
die Shared-Methoden umfaßt.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 04.09.17 16:53

Ja ich meine Methoden.
Konflikte lassen sich ja durch eindeutige Benamung vermeiden, das dürfte kein Problem darstellen.

Ich werde wohl sämtliche Projektvorlagen bearbeiten müssen, so global, wie ich mir das vorstelle, ist es wohl nicht möglich.

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: Manfred X
Datum: 04.09.17 18:47

Hallo!

Sinnvoll wäre es, wenn Du erläuterst, für welche Zwecke
Du meinst, so etwas tatsächlich zu brauchen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 04.09.17 19:04

Sinn und Zweck von "Extension Methods", sollte wohl klar sein und die will ich eben global, in der IDE verfügbar machen.
Das soll sich so anfühlen, als ob die "Extension Methods", zu Framework dazugehören würden.

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: Manfred X
Datum: 04.09.17 19:29

Was Du möchtest habe ich verstanden.
Nochmal: Zu welchem Zweck glaubst Du, so etwas zu brauchen.

Module sind - abgesehen von "Extension Methods" - in VB.Net irrelevant.
Solche speziellen Methoden werden nur in Zusammenhang mit den zugeordneten
Klassen benötigt - also nicht in jedem Projekt.

Wie oben bereits erwähnt:
Erstelle ein Bibliotheks-Projekt (DLL), füge dort Klassen mit (Shared) Methoden
ein. Die Klassen-Methoden dieser Bibliothek können per Projektverweis in jedem
Projekt verwendet werden.
Falls Du tatsächlich "Extension Methods" benötigst, verwende statt dessen ein Modul
mit öffentlichen Methoden (incl. Extension-Kennung) in der Bibliothek.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 04.09.17 21:17

Sorry, aber du höhrst b.z.w. liest mir nicht zu. :/

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: DotNetErbse
Datum: 05.09.17 13:23

also ich finde Extensions Klasse.

Z.B.:

dim s as string="1;3;5"
dim lst as list(of integer)=s.GetListOfIntegerUndMachWasDamit(";")
Mich nervt auch, dass ich die immer wieder in die Projekte einbinden muss. Auch ein Update gestaltet sich schwierig. Manche Dinge Code ich OnTheFly je nach Projekt. Bums, schon gibt's ne abweichende Extensions.vb

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: HenryV
Datum: 05.09.17 17:10

Hallo zusammen

So als Tipp, man kann Elemente als Verknüpfung hinzufügen.
https://msdn.microsoft.com/de-de/library/9f4t9t92(v=vs.100).aspx(nach unten scrollen)
Somit kann man die Extensions.vb irgendwo zentral ablegen.

Gruss HenryV

Beitrag wurde zuletzt am 05.09.17 um 17:15:34 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 05.09.17 18:17

Ähhh ja, danke für den Tipp, aber das geht am Thema vorbei,
den ganau der Arbeitschritt, den du da beschreibst,
will ich in Zukunft nicht mehr machen müssen.

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: Manfred X
Datum: 06.09.17 09:48

Hallo!

Darf man wissen, warum Du nicht einfach eine Klasse ableitest, etwa so ....
Public Class ListEx(Of T)
    Inherits Collections.Generic.List(Of T)
 
    Public Sub RemoveEven()
        For i As Integer = Me.Count - 1 To 0 Step -1
            If i Mod 2 = 0 Then Me.RemoveAt(i)
        Next i
    End Sub
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 06.09.17 11:14

Weil das nicht zum gewünschten Ziel führt.

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: DotNetErbse
Datum: 06.09.17 11:31

Hallo ManneX,

weiß nicht, ist eventuell eine Geschmacksfrage. Hab das bisher so gemacht.

Deine Variante ist natürlich übersichtlicher und in eine main.dll zu integrieren...

Geht das mit allen Variablentypen? Ich habe viele Extensions für viele Variablentypen.

LG

DNE

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 06.09.17 12:00

Es kommt nur ein Modul in Frage und das ist aus einer .dll heraus nicht global verfügbar; das haben zumindes meine Experimente ergeben.
Werde mich wohl damit begnügen müssen, das Modul jedes mal einzubinden.

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: Manfred X
Datum: 06.09.17 12:24

Hallo!

VB ist eine objektorientierte Programmiersprache
Vererbung ist dabei ein zentrales Prinzip, um Objektwelten
zu konstruieren, durch die Programme organisiert und
strukturiert werden.

"Extension Methods" sind in gewisser Weise ein Rückfall in
das modulare Programmieren. Eingeführt worden sind sie im
Zusammenhang mit LINQ. LINQ ist ein "Query-Konzept" und kein
"Objekt-Konzept". Aus meiner Sicht ist das in mancher Hinsicht
ein konzeptioneller Bruch um Framework.

"Inherits" funktioniert bei allen Klassen, die nicht "versiegelt" sind.

Bei versiegelten Klassen bevorzuge ich es inzwischen, Klassen zu erstellen,
denen im Konstruktor eine Instanz der versiegelten Klasse übergeben wird.
Von solchen "Frame-Klassen", die jeweils eine Instanz der versiegelten
Klasse erweitern, können dann Ableitungen erstellt werden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 06.09.17 14:37

Lieber Manfred X

Nochmal, zu mitschreiben: Ich möchte ein Modul mit "Extension Methods" nicht immer wieder einbinden müssen und daher IDE weit verfügbar machen ! Nicht mehr und auch nicht weniger !

Dein Oberlehrergehabe nervt !

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: DotNetErbse
Datum: 07.09.17 07:42

vielen Dank, dann werde ich das mal beherzigen.
Habs nun in über 10 Projekten drin, wird ne Weile dauern zum "umstricken"...

Bis denne

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: DotNetErbse
Datum: 07.09.17 07:48

Hallo FormFollows...

ich fand die ersten Rückfragen zwar auch etwas DaveS-like, aber ManneX hat Recht.

Bei der Programmierung gibt es Dinge, die sind des Programmierers Himmelreich.
Oft aber nur sein eigener Himmel. Manche Dinge gehen einfach nicht.
Damit kann man sich abfinden, oder nicht.

Viel Erfolg weiterhin!

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Extensions Modul global, in allen Projekten, verfügbar machen. 
Autor: FormFollowsFunction
Datum: 07.09.17 15:54

... etwas DaveS-like, aber ManneX hat Recht.
Aber am Thema vorbei ! Wer ist DaveS ?

Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow()
https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel