Frage

Ich habe einen Verweis auf eine benutzerdefinierte Montage in einem Bericht von Report Services (2008) hinzugefügt. Es funktioniert hervorragend, wenn ich von einem Textfeld anrufe (z. B. = montage.class.function ()), aber wenn ich es in einen benutzerdefinierten Codeblock einpacke:

Function GetString(ByVal key as String) as String

return Willow.Reporting.Localization.Resource.Get(User!Language, "WAR", "Title", key)

end function

Ich erhalte den Build-Fehler "Verweis auf ein nicht stammendes Mitglied erfordert eine Objektreferenz".

Die C# -Klasse und Funktionen sind statisch.

Als Test habe ich auch ein nicht statisches Vrsion der Klasse erstellt, eine Instanz erstellt und über den Instanznamen im benutzerdefinierten Code auf sie zugegriffen, aber auch kein Glück.

Ist es möglich, eine benutzerdefinierte Montage aus dem Codeblock in Berichtsdiensten aufzurufen?

War es hilfreich?

Lösung 2

Die VS -IDE lädt die Baugruppe nur einmal bei der Last - Sie müssen also jedes Mal schließen/wieder eröffnen, wenn Sie eine Baugruppe ändern (Entfernen der Referenz und Zurücksetzen funktionierten auch nicht)

Sie können sowohl statische Anrufe als auch Instanzmethoden verwenden, und es funktioniert gut aus dem eingebetteten Code, z. B.:

Function Test() as String
    return Instance.GetString()
End Function

Function Test2() as String
    return WR.StaticTest.GetString()
End Function

Andere Tipps

Vielleicht bist du ein C# -Programmierer? "Shared" in VB bedeutet statisch. Die Nachricht bedeutet, dass Sie eine Instanz der Klasse erstellen müssen, um eine (Instanz-) Methode der Klasse aufzurufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top