我正在尝试使用系统Reflection
来启用类member
(类型int
)的提取
var CurrTblID = typeof(currProjData).GetMembers(
BindingFlags.Public |BindingFlags.Static
).Select(t => t.Name)...what expresssion should I put here?
这将公开一个enumerator
带有接口的iEnumerable
, 并将其分配给 CurrTblID
所以我可以使用foreach
循环,找到哪个“表ID”Tid
是当前的
- 如何在没有 foreach 的情况下获取特定字段名称并找出其值?
问题的来源在currProjData
类中,如下所示。
如果需要答案的一些背景:
在这段代码中,我使用了一个结构,该结构可以设置Sql server
数据库表的详细信息以供以后使用。
我在 sql server 中找不到答案,所以我制作了一个结构来保存自定义index
- 作为ID
我将在我的应用程序中使用的每个表的数字。
public class DBMetaDetails
{
public struct DbTable
{
public DbTable(string tableName, int tableId): this()
{
this.TableName = tableName;
this.TableID = tableId;
}
public string TableName { get; set; }
public int TableID { get; set; }
}
}
TableID
是我通过该结构使用的自定义数字“id”,所以这就是我可以SQL table
通过自定义“索引”而不是其数据库名称来引用的方式。
public static class currProjData
{
static DBMetaDetails.DbTable CustomersMeta = new DBMetaDetails.DbTable();
static DBMetaDetails.DbTable TimesMeta = new DBMetaDetails.DbTable();
public static void SetTablesMetaDetails()
{
TimesMeta.TableID = HTtIDs.TblTimes;
TimesMeta.TableName = HTDB_Tables.TblTimes;
CustomersMeta.TableID = HTtIDs.TblCustomers;
CustomersMeta.TableName = HTDB_Tables.TblTimeCPAReport;
}
public static readonly int CustomersTid = CustomersMeta.TableID;
public static readonly string CustomersTblName = CustomersMeta.TableName;
public static readonly int TimesTid = TimesMeta.TableID;
public static readonly string TimesTblName = TimesMeta.TableName;
}