【问题标题】:Set properties in the way it's declared in c# class以在 c# 类中声明的方式设置属性
【发布时间】:2014-07-29 16:44:30
【问题描述】:

我有一个名为“Symbol”的类并有属性列表。

Public class symbol {
  z_prop{get;set;}
  B_prop{get;set;}
   A_prop{get;set;}
}

我已经完成了一个数据库调用并将数据读取器分配给这个类实例。像下面的代码

//dr is datareader object
symbol symbols = new symbol();                       
symbols.z_prop= dr["z_prop"].ToString();
symbols.B_prop= dr["B_prop"].ToString();
symbols.A_prop= dr["A_prop"].ToString();

Gridview OutPut 将是这样的:

   Columns : A_prop  B_prop  Z-Prop
   Values  : Value   Value   Value

一切正常。但是在分配读取器值之后,符号属性按字母顺序排序。我想要像在类中声明的那样排序的属性。有什么建议按字母顺序排列吗?

【问题讨论】:

  • 按什么对齐/排序?
  • 现已更新,已订购。
  • 我原来的评论仍然有效。
  • 显示示例数据。不清楚你的意思。
  • 我已经更新了输出。

标签: c# .net class properties


【解决方案1】:

我认为你的意思是当你从调试器窗口看到符号类时,属性按字母顺序排列。如果是这种情况,那么你不能做任何事情,因为调试器是这样工作的。

默认调试器会按字母顺序显示所有成员。

查看下图:

【讨论】:

  • 没关系,但之后我将列表分配给网格视图,它以相同的 alaphapet 顺序显示数据
【解决方案2】:

当 Visual Studio 向您显示属性/事件列表时,它会自动对它们进行排序。 因此,您可以为您的类使用自己的构造函数,如下所示:

Public class symbol {
  z_prop{get;set;}
  B_prop{get;set;}
  A_prop{get;set;}

  Public symbol (z_prop, B_prop, A_prop)
  {
      //your code for assigning properties
  }
}

然后你可以使用下面的代码来赋值:

symbol symbols = new symbol(dr["z_prop"].ToString(), dr["B_prop"].ToString(), dr["A_prop"].ToString());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2011-01-03
    • 2011-01-13
    • 1970-01-01
    相关资源
    最近更新 更多