vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
Gültigkeitsbereiche  
Autor: Pite
Datum: 08.01.03 22:22

Hallo,

Im unten stehenden Code versuche ich von „Shared Sub main()“ in der Klasse „ClsMain“
Die Sub „SubArrayFill“ in der Klasse „ClsSubs“ aufzurufen. Hierfür instanziiere ich die Variable
„InstClsSubs“ vom Typ der Klasse „ClsSubs“ auf Klassenebene. Folgende Fehlermeldung ist die Folge:

Auf ein Instanzenmember einer Klasse kann nicht ohne explizite Instanz einer Klasse von einer/m freigegebenen Methode/Member aus verwiesen werden

Meine konkrete Frage:
Wie gehe ich in so einem Falle sinnvoller Weise vor, wenn ich von einer Klasse aus einer Prozedur eine Prozedur innerhalb einer anderen Klasse aufrufen möche ?
Was muss ich hier umstellen / ändern ??

Vielen Dank


Imports System
Imports Microsoft.VisualBasic
Imports System.Windows.Forms

Public Class ClsMain
Public InstClsSubs As New ProjName.ClsSubs()

Shared Sub main()

InstClsSubs.SubArrayFill()

End Sub

End Class


Public Class ClsSubs

Sub SubArrayFill()
Dim i As Integer = 1
Dim j As Integer = 0
Dim sArrTestArray As Array = Array.CreateInstance(GetType(String), 12)
Dim str As String = ""

For j = 0 To 11
sArrTestArray.SetValue("Test ", j)
str = (sArrTestArray(j).ToString & i.ToString)
MessageBox.Show(str)
i += 1
Next j


End Sub

Public Class ClsSubs

Sub SubArrayFill()
Dim i As Integer = 1
Dim j As Integer = 0
Dim sArrTestArray As Array = Array.CreateInstance(GetType(String), 12)
Dim str As String = ""

For j = 0 To 11
sArrTestArray.SetValue("Test ", j)
str = (sArrTestArray(j).ToString & i.ToString)
MessageBox.Show(str)
i += 1
Next j

With sArrTestArray
str = ""
str += " GetLowerBound " & .GetLowerBound(0).ToString() & vbCrLf
str += " GetLength " & .GetLength(0).ToString() & vbCrLf
str += " GetUpperBound " & .GetUpperBound(0).ToString & vbCrLf
End With
MessageBox.Show(str)

...
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Gültigkeitsbereiche 842Pite08.01.03 22:22
Re: Gültigkeitsbereiche 603landx09.01.03 00:44
Re: Gültigkeitsbereiche 565ModeratorDaveS09.01.03 09:02
Re: Gültigkeitsbereiche 573landx09.01.03 10:43
Re: Gültigkeitsbereiche 612ModeratorDaveS09.01.03 11:08
Re: Gültigkeitsbereiche 586Pite09.01.03 12:35

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-2025 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