كيفية الحصول على معلومات النوع دون استخدام الأجداد؟
سؤال
انا لدي object obj
التي تم تمريرها إلى طريقة مساعد.
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
}
لقد قيل لي هذا ليس استخداما صحيحا للأردائر. هل يمكن لأي شخص أن يخبرني إذا استطعت تحقيق نفس النتيجة دون تحديد نوع عام؟ إذا كان الأمر كذلك، كيف؟
ربما أغير التوقيع حتى يكون الأمر كذلك:
public static MyTag GenerateTag(this HtmlHelper htmlHelper, object obj /*, ... */)
{
Type t = typeof(obj);
// implement GenerateTag
}
لكن Type t = typeof(obj);
مستحيل.
أي اقتراحات؟
شكرًا
ديف
المحلول
Type t = obj.GetType();
على الرغم من أنني لا أعتقد أن هناك أي مشكلة مع ما لديك في الوقت الحالي.
نصائح أخرى
ماذا عن مجرد القيام:
Type t = obj.GetType();
يجب أن تعطيك typeinfo.
لا تنتمي إلى StackOverflow