2009-10-19 83 views
1

我喜欢让我的数据库更加动态地插入函数。在不带参数的另一个函数中使用函数的变量?

像这样:

private void setValues() { 
    string test = "foo"; 
    string test2 = "bar"; 
} 
private void WriteToDB() { 
    dc dcOfMyDatabase = new dc(); 

    DBTable myTable = DbTable() { 
     field1 = test; // values of other function 
     field2 = test2; // values of other function   
    } 
} 
private void doAll() { 
    setValues(); 
    WriteToDB(); 
} 

我当然可以在WriteToDB()参数做到这一点......但我有这么多的领域,并希望它与另一块干净的方式。

我确定有一个正确的方法来干净的开发类似这样的东西。

感谢和问候。

回答

2

可以促进他们的类成员或属性:

string test; 

private void setValues() { 
    test = "foo"; 
} 

或:

string test {get; set;} 

你应该阅读有关面向对象的设计和编程 - 这将certifiably帮助你组织你的代码中更合理的方式。

+0

谢谢,认为这是干净的。 – 2009-10-19 08:29:44

3

正确的方法确实是将参数传递给WriteToDB。如果问题在于你有很多参数,请将它们包装在一个包含类中,并将此类的一个实例传递给您的写入函数。

另外,考虑如果使用ORM引擎(如LINQ to SQL或NHIbernate)而不是直接访问数据库类可能对您有所帮助。

0

我不确定你在这里要做什么。你的代码片段中有一些错误,如果你试图运行它,就不会编译。这就是说,如果你正在寻找从代码到数据库的映射,我会检查出Linq To SQL。 Here是一个简短的介绍。

+0

当然它不会编译它:)...只是一个例子来显示我的结构..实际上我的例子工作,但与许多代码 – 2009-10-19 08:28:27

相关问题