Frage

ich habe ein object obj Das wird in eine Helfermethode übergeben.

public static MyTagGenerateTag<T>(this HtmlHelper htmlHelper, T obj /*, ... */)
{
    Type t = typeof(T);

    foreach (PropertyInfo prop in t.GetProperties())
    {
        object propValue = prop.GetValue(obj, null);
        string stringValue = propValue.ToString();
        dictionary.Add(prop.Name, stringValue);
    }

    // implement GenerateTag
}

Mir wurde gesagt, dass dies keine korrekte Verwendung von Generika ist. Kann mir jemand sagen, ob ich das gleiche Ergebnis erzielen kann, ohne einen generischen Typ anzugeben? Wenn das so ist, wie?

Ich würde wahrscheinlich die Signatur ändern, also wäre es wie:

public static MyTag GenerateTag(this HtmlHelper htmlHelper, object obj /*, ... */)
{
    Type t = typeof(obj);
    // implement GenerateTag
}

aber Type t = typeof(obj); ist unmöglich.

Irgendwelche Vorschläge?

Vielen Dank

Dave

War es hilfreich?

Lösung

Type t = obj.GetType();

Obwohl ich nicht glaube, dass es ein Problem mit dem gibt, was Sie im Moment haben.

Andere Tipps

Was ist mit nur zu tun:

Type t = obj.GetType();

Das sollte Ihnen den Typinfo geben.

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