Sie sicher können Zugriff auf statische Member von Instanz Mitglieder ... aber Sie sollten verstehen, warum Sie nicht Instanz Mitglieder ohne eine Instanz zugreifen können.
Ihre Klasse sagt im Grunde, dass jede Instanz von ClassA
Ihnen ermöglicht, eine Liste von Aufträgen zu erhalten, die einer bestimmten ID zugeordnet sind. Nun können verschiedene Instanzen von ClassA
andere Ergebnisse liefern - zum Beispiel könnten sie sich mit verschiedenen Datenbanken verbinden. Welche Ergebnisse möchten Sie in DoSomethingElse
bekommen?
Um ein einfacheres Beispiel zu geben, nehmen wir eine Person
Klasse hatte, und jeder hatte einen Namen: „Was ist Person.Name
“
public class Person
{
public string Name { get; set; }
}
Macht es Sinn, zu fragen, Nein - weil Sie nicht angegeben haben, von welcher Person Sie sprechen.
Sie sollten entweder ClassA.GetOrders
statisch machen - wenn es keine pro-Instanz Informationen, einschließlich virtueller Elemente beinhalten wird - oder machen ClassB
Kenntnis von der Instanz von ClassA
zu verwenden, wenn die Aufträge herauszufinden.
Wenn Sie uns realistischere Namen für diese Klassen wissen lassen könnten, könnten wir eine Anleitung geben, welche Lösung eher geeignet ist ... persönlich würde ich im Allgemeinen bevorzugen, wie statische Mitglieder im Allgemeinen führen zu weniger testbaren Code.
Sie benötigen eine Instanz von 'ClassA', um' GetOrders (..) 'aufzurufen, da sie nicht als' static' gekennzeichnet ist. Hast du es stattdessen "statisch" gemeint? –
ClassA ist ein Singleton – PositiveGuy
Ich denke, ich könnte den Singleton an die andere Versammlung möglicherweise in diese Methode in ClassB übergeben – PositiveGuy