ich auf der Suche nach einer Lösung für eine etwas andere Frage hier kam, eine statische Methode mit, die eine neue generische zwei generische Arrays und gibt nimmt Array. Da meine Methode statisch war, konnte ich das Beispiel nur als Inspiration verwenden. Stattdessen habe ich folgende Lösung entwickelt.
T [ ] raMerged = (T [ ]) alMerged.ToArray (typeof (T));
return raMerged;
Im obigen Snippet ist alMerged eine ArrayList von generischen Objekten T.
Dies erfüllt die Bedingungen des durch die Methodensignatur spezifizierten Vertrags, der wie folgt ist.
public static T [ ] MergeNewItemsIntoArray<T> (
T [ ] paMasterList ,
T [ ] paNewItems)
where T : IComparable , new ()
In der Signatur, die where-Klausel meine Auflösung einer anderen Ausgabe zeigt, dass ich in mehreren Threads gefunden, von denen keines direkt auf diese Frage gerichtet. Trotzdem wird dies hoffentlich wenigstens einer anderen Seele helfen.
Thanks All! Benötigte eine Alternative zu Ausnahmen. Wusste nicht über Standard (T). –
Hmmm, eine Funktion, die einen Parameter ändert ... wie unfunktionell (ja, ich benutze TryParse, aber ich versuche, mich von Dingen fernzuhalten, die sich selbst Funktionen nennen, aber nicht wirklich sind). –
@Edgar sehen es nicht als Ändern eines Parameters, sehen Sie es als zweiten Rückgabewert. Es ist nicht schlimmer als die Rückkehr eines 'Tuple'. Wovor Sie Angst haben sind Ref-Parameter. –
Trillian