【发布时间】:2013-03-05 18:59:01
【问题描述】:
如果我有这两个类:
public class A
{
public int Id { get; set; }
}
public class B
{
public string Name { get; set; }
}
我可以使用这样的通用方法吗:
public void InitMethod(object classProperty)
像这样传入数据:
var a = new A() { Id = 1 };
var b = new B() { Name = "John" };
InitMethod(a.Id);
InitMethod(b.Name);
并从方法中获取以下信息:
- 类名(例如:“A”、“B”)
- 属性名称(例如:“Id”、“Name”)
- 属性值(例如:1,“John”)
【问题讨论】:
-
您打算如何处理这些信息?
-
真正愚蠢的东西 - 生成字符串以作为 SQL 执行以更新数据库。这些类反映了表名和这些表中的列,因此了解所提到的三位信息将有助于初始化,因为它可以在我动态生成我的 SQL 代码时为我提供要更新的表名、列名和值。另一种方法是每次手动传递/初始化值,这会很痛苦。
-
使用实体框架而不是自己编写怎么样?或者至少使用 LINQ to SQL。
-
我正在使用 javascript/ajax 来做 - 只是在页面加载时初始化数据。
-
听起来是个严重的错误。使用实体框架将更容易维护且成本更低。微软已经发明了这种特殊的轮子。
标签: c# asp.net typeof object-type