C# 使用用户输入的变量名访问类属性
基本上,我有一个类似于下面的类,但要长得多C# 使用用户输入的变量名访问类属性,c#,asp.net,.net,vb.net,visual-studio,C#,Asp.net,.net,Vb.net,Visual Studio,基本上,我有一个类似于下面的类,但要长得多 Public Class inventory Public Property id As Integer Public Property name As String End Class 在另一个类中,我有一个称为“类的顺序”的清单 所以当我在列表上循环时,我可以 For Each i In orders Console.WriteLine(i.name) Next 但我想在现场设置一个变量。 很像 然而,我得到错误
Public Class inventory
Public Property id As Integer
Public Property name As String
End Class
在另一个类中,我有一个称为“类的顺序”的清单
所以当我在列表上循环时,我可以
For Each i In orders
Console.WriteLine(i.name)
Next
但我想在现场设置一个变量。
很像
然而,我得到错误,因为rrr不是库存中的成员!
所以,请任何人知道如何解决这个问题,并能够从一个变量访问该类让我知道
谢谢在中提供了答案,但答案是C。下面是vb.net的翻译
公共类目录
作为整数的公共属性id
作为字符串的公共属性名称
“我添加了一个自定义构造函数,以便更轻松地填写列表
Public Sub New(i为整数,n为字符串)
id=i
name=n
端接头
'添加回默认构造函数
公共分新()
端接头
末级
从{新库存(1,“苹果”)、新库存(2,“橙子”)、新库存(3,“梨”)}以新库存(库存)的形式私下订购
专用子操作码()
Dim rrr As String=“name”Console.ReadLine()就像用户键入的名称一样
对于每一个我都有秩序
Console.WriteLine(GetPropertyValue(i,rrr))
下一个
端接头
私有函数GetPropertyValue(src作为对象,PropName作为字符串)作为对象
返回src.GetType().GetProperty(PropName).GetValue(src,Nothing)
端函数
输出:
苹果
橙子
梨
也许一个类不是保存你的数据的最好方法,考虑使用<代码>字典<代码>你想用那个变量做什么?不清楚您想要一个变量来定位是什么意思?抱歉,我在中指定了一个变量名,该变量名在运行时会动态变化。您的意思是
dim theorederiseek=orders.FirstOrDefault(function(o)o.name.Equals(rrr))
?(或包含(rrr)
或StartsWith(rrr)
或…)rrr是一个变量名,其值指向类属性。因此,在上面的示例中,rrr的值将是name或id
Dim rrr As String = Console.ReadLine()
For Each i In orders
Console.WriteLine(i.rrr)
Next