2012-06-14 63 views
1
public class MyClass { public string MyProperty{ get; set; } 

現在,我想映射每個屬性以具有[X,Y]整數。爲POCO屬性添加屬性以映射x,y單元格

MyProperty = "Its string value."; 
MyProperty.X = 4; 
MyProperty.Y = 10; 

有幾種方法我正在考慮這樣做,但不知道什麼是最好的。基本上將POCO映射到Excel電子表格。

我應該還是可以裝飾屬性? 我應該使用字典嗎?

+0

爲什麼不能有'MyProperty'是一個更復雜的類型,而不是一個'string'?我想我不明白你想做什麼。 –

+0

不完全清楚你想達到什麼。只有知道Excel電子表格的結構時,纔可以使用靜態類型。如果你知道它,只需添加你需要的屬性。如果你不這樣做,爲什麼不使用'DataSet'和'DataTable's?有'Microsoft.Jet.OLEDB'可以用來查詢像db一樣的Excel文件。如果文件結構和數據類型不一致,請不要期望它能夠完美地工作。或者只是讓它動態:) –

+0

我不一定知道類型會是什麼,並且會有很多。我基本上喜歡通過所有的屬性反映並將它們映射到一個單元格(x,y)。我認爲像IDictionary ()是我要去的地方。 – mstaffeld

回答

0

正如@DavidHoerster提到的,你需要一個更具描述性的類模型:

public class SpreadSheetCell 
{ 
    public int X {get; set;} 
    public int Y {get; set;} 
    public string Contents {get; set;} 
} 

... 
SpreadSheetCell[,] spreadSheet = new SpreadSheetCell[100,100]; 
spreadSheet[1, 2] = new SpreadSheetCell 
         { 
          X = 1, 
          Y = 2, 
          Contents = "Something goes here..." 
         }; 
+0

謝謝,我基本上是用這樣的複合類來裝飾序列化屬性。 – mstaffeld

+0

我很高興它爲你工作。 – bluevector