システムを使用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;
}