我可以使用以下代码获取对象:
string tableName = "States";
var test = db.GetType().GetProperty(tableName).GetValue(db, null);
//this returns {System.Data.Objects.ObjectSet<FmlaModel.State>}
但是,我想首先找到 EntityObject FmlaModel.State
,以便我可以明确命名我的变量类型(例如ObjectSet<EntityObject>
而不是var
) ,以便我可以使用它来告诉我的表单(TableEditor,见下文)我们正在使用什么类型的EntityObject。
有没有办法可以用反射做到这一点?我搜索了很多,但还没找到任何有用的东西......
修改:
我的目标是能够拥有一个包含我们能够编辑的实体对象名称的db表。名称将被加载到组合框中,当选择一个名称时,我将创建一个“表格编辑器”表格的实例,其中包含
TableEditor<myEntityObject> tableEditor
= new TableEditor<myEntityObject>(myEntitySet<myEntityObject>);
我的“表编辑器”类如下所示:
public partial class TableEditor<TEntity> : Form
where TEntity : EntityObject
{
public TableEditor(ObjectSet<TEntity> something)
{
...