Ich habe eine generische Methode, die Typ t (generisches) zurückgibt. In der Methode, wenn t ein Array ist, möchte ich dieses Array mit Daten erstellen und bevölkern. Ich habe jetzt eine Liste von Objekten dieses Basistyps. Issue. Die angegebene Linie wird nicht kompilieren ("" Typ "Objekt" nicht konvertieren? [] 'Zu' t '"), aber letztendlich möchte ich erreichen.
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Testing test = new Testing();
DataClass[] output = test.MyMethod();
}
public class DataClass
{
public int I = 0;
public DataClass()
{
}
}
public class Testing
{
public T MyMethod()
{
T result = default(T);
if (typeof(T).IsArray)
{
Type? baseType = typeof(T).GetInterfaces()
.Where(o => o.IsGenericType
&& o.GetGenericTypeDefinition() == typeof(System.Collections.Generic.IEnumerable))
.Select(o => o.GetGenericArguments()[0]).FirstOrDefault();
if (baseType != null)
{
List items = new List();
for (int i = 0; i < 5; i++)
{
// Just example code here to populate the array...
items.Add(Activator.CreateInstance(baseType));
}
result = (T)items.ToArray(); //
Ich habe eine generische Methode, die Typ t (generisches) zurückgibt. In der Methode, wenn t ein Array ist, möchte ich dieses Array mit Daten erstellen und bevölkern. Ich habe jetzt eine Liste von Objekten dieses Basistyps. Issue. Die angegebene Linie wird nicht kompilieren ("" Typ "Objekt" nicht konvertieren? [] 'Zu' t '"), aber letztendlich möchte ich erreichen.[code]static void Main(string[] args) { Console.WriteLine("Hello, World!");
Testing test = new Testing(); DataClass[] output = test.MyMethod(); }
public class DataClass { public int I = 0; public DataClass() {
} }
public class Testing { public T MyMethod() { T result = default(T); if (typeof(T).IsArray) { Type? baseType = typeof(T).GetInterfaces() .Where(o => o.IsGenericType && o.GetGenericTypeDefinition() == typeof(System.Collections.Generic.IEnumerable)) .Select(o => o.GetGenericArguments()[0]).FirstOrDefault(); if (baseType != null) { List items = new List(); for (int i = 0; i < 5; i++) { // Just example code here to populate the array... items.Add(Activator.CreateInstance(baseType)); }
Ich habe im Laufe der Zeit einige Daten zu den Professoren einiger verschiedener akademischer Abteilungen gesammelt. Da ich die Daten aus zwei verschiedenen Quellen gesammelt habe, weiß ich, dass die...
Ich habe zwei Klassen: eine nicht generische Basisklasse Node und eine generische abgeleitete Klasse Node . Die Knoten bilden eine verkettete Liste, wobei jeder Knoten möglicherweise einen anderen...
Ich habe RA- und DEC -Zeigendaten, die ich auf einem polaren Diagramm zeigen möchte (Konvertierung in Rho und Theta).
Die Theta -Bewegung ist sehr klein, ~ 0,01 Grad. Dies ist in einem vollständigen...
Ich habe eine Vorlagenfunktion mit verschiedenen Typparametern und abhängig von diesen Typen die Funktion Aufrufe ein static_assert (false) . Ich möchte wissen, wann mein Code nicht für bestimmte...