2014-03-12 2 views
1

다양한 사전에 사용할 CollectionDataContract를 구현하는 클래스가 있습니다. 모든 사전에는 고유 한 ItemName 및 KeyName이 있습니다. ItemName 및 KeyName 값을 동적으로 설정할 수 있습니까? 각 사전 유형에 대한 클래스를 만들고 싶지 않습니다.CollectionDataContract의 ItemName을 동적으로 설정하십시오.

[CollectionDataContract(ItemName = "Book", KeyName = "Name")] 
public class BookDictionary<TKey, TValue> : Dictionary<TKey, TValue> 
{ 
    public BookDictionary() : base(){} 
} 

[CollectionDataContract(ItemName = "Product", KeyName = "ID")] 
public class ProductDictionary<TKey, TValue> : Dictionary<TKey, TValue> 
{ 
    public ProductDictionary() : base(){} 
} 

답변

-1

이 시도 :

var obj = new ExpandoObject(); 
DataSet ds = GetObjectProperties() // returns dataset having the properties as key and value pair; 
if (ds.Tables["BookTable"].Rows.Count > 0) 
{ 
    foreach (DataRow dr in ds.Tables["BookTable"].Rows) 
    { 
     string KeyName = dr["KeyName"].ToString(); 
     string ValueName= dr["ValueName"].ToString(); 
     obj[KeyName] = ValueName; 
    } 
} 
dynamic DynObj = obj; 

나는이 문제를 방지하려면

관련 문제