我有一个需要通用的功能:

public static ShowTrackChangesViewModel CreateVM<T>(IList<TrackChanges> TrackChanges, T entity)
        {
            //How do i access T properties ?

        }


这是一个entityFramework对象。我如何将其转换回真实的属性以访问其属性?
我需要编写很大的if代码吗?
谢谢

最佳答案

您可以添加这个小宝石说T应该是MyBaseType类型的对象:

public static ShowTrackChangesViewModel CreateVM<T>(IList<TrackChanges> TrackChanges, T entity) where T : MyBaseType


然后,可以像使用MyBaseType一样使用entity。如果您需要不在基类中的特定属性,则不需要通用方法(因为它不是通用方法!)。

希望有帮助!

10-04 19:45