我在一个类中有大约80个属性,我将每个值赋给另一个类。我想把值放到一个类中,然后将这个类传递给一个方法,在这个方法中我将每个属性保存到一个数据库表中。c# - 将一个类传递给一个方法
我该怎么做?
编辑: 如果我想将所有属性放入列表中,我该怎么办?我是否将它们放在属性类或其他方法的列表中?
在此先感谢。
我在一个类中有大约80个属性,我将每个值赋给另一个类。我想把值放到一个类中,然后将这个类传递给一个方法,在这个方法中我将每个属性保存到一个数据库表中。c# - 将一个类传递给一个方法
我该怎么做?
编辑: 如果我想将所有属性放入列表中,我该怎么办?我是否将它们放在属性类或其他方法的列表中?
在此先感谢。
听起来就像你正在创建什么通常被称为数据传输对象或DTO。
80性质听起来有点疯狂....
道歉,我没有我的IDE方便上我的iPad,但基本上像
class DTO
{
//All you properties go here
}
class databaseConnector
{
public void saveToDB (DTO dto){
//whatever you want to do here...
}
}
+1:只适用于“有点疯狂”。 – Richard 2011-03-11 18:06:39
如果你问有关如何将类传递给方法,你需要有类方法签名的一部分,然后把类的方法的您的实例:
方法签名:
public void exampleMethod(YourClassName classVariable)
{
//Do your database stuff here
}
变量声明
YourClassName exampleClass = new YourClassName();
你有什么需要用它来初始化或设置变量,然后打电话给你的方法,并把它传递给它:
exampleMethod(exampleClass);
当调用'exampleMethod(exampleClass)'时,是不是由exampleClass组成的副本?但是,如果我将方法签名更改为'public void exampleMethod(ref YourClassName)',那么内存位置会更改,并且不会复制副本。在我的理解中,我在这里纠正? – 2012-07-30 12:57:51
@Jim Lahman是的,这是正确的,但在Class的情况下,它是一个引用类型,所以即使按值传递,也只是创建对该对象的引用。如果指向与原始对象相同的对象,那么如果您不小心,则可以更改原始对象上的内容。 Jon Skeet的一篇很好的文章在http://www.yoda.arachsys.com/csharp/parameters.html – nickmoriarty 2012-07-30 16:58:24
80个属性的类? – 2011-03-09 21:19:54
你怎么做*什么*?创建一个类并将其传递给一个方法,或者获取该对象并坚持到数据库?你有什么麻烦?编辑你的问题,并非常清楚。 – 2011-03-09 21:24:15