【问题标题】:Adding attributes to POCO properties for mapping x,y cells向 POCO 属性添加属性以映射 x,y 单元格
【发布时间】:2012-06-14 12:38:55
【问题描述】:
public class MyClass  {  public string MyProperty{ get; set; }

现在,我想将每个属性映射为具有 [X, Y] 整数。

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

我正在考虑几种方法,但不确定哪种方法最好。基本上将 POCO 映射到 Excel 电子表格。

我应该或可以装饰这些房产吗? 我应该使用字典吗?

【问题讨论】:

  • 为什么不让MyProperty 成为更复杂的类型而不是string?我想我不明白你在做什么。
  • 不完全清楚你想要实现什么。只有知道 Excel 电子表格的结构,才能使用静态类型。如果您知道,只需添加您需要的属性。如果不这样做,为什么不使用DataSets 和DataTables?有Microsoft.Jet.OLEDB可以用来查询像db这样的Excel文件。如果文件的结构和数据类型不一致,请不要指望它可以完美地工作。或者只是让它动态:)
  • 我不一定知道会是什么类型,会有很多。我基本上想反映所有属性并将它们映射到一个单元格(x,y)。我认为像 IDictionary() 是我要去的地方。

标签: c# mapping poco


【解决方案1】:

正如@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..."
                        };

【讨论】:

  • 谢谢,我基本上使用了这样的复合类,并为序列化属性进行了装饰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
相关资源
最近更新 更多