2017-06-15 125 views
-1

我用的JavaScript,你可以使用一个字符串,像这样访问一个对象的属性:使用字符串访问对象的属性。 VB.NET

myObject[propertyNameString] 

我如何能为我的实体数据库做类似的东西,这个查询做到这一点:

Dim query = From q In db[tableName] 
      Where q[columnName] = myValue 
      Select z 
+1

这在C#和vb.net不支持。这里的用例是什么? –

+0

如果您知道该属性的名称,为什么不只是'myObject.propertyName'? – Plutonix

+0

@ChetanRanpariya是对的。你可以做一些这样的事情,但代码不会看起来很相似,难以管理。 [检查出来](https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/early-late-binding/calling-a-property-or-method- using-a-string-name#Anchor_0) –

回答

1

这里是我居然跑到有关解决这个:

Dim tableName As String = "myTable" 'Set "myTable" dynamically in for loop 
Dim tableObjectType As Type = Type.GetType(tableName) 
Dim result = dbContext.Set(tableObjectType).Find("myPrimaryKey") 'Also set dynamically