Tag: 方法

在C#中,什么是方法声明后?

我是VB.Net的人。 (因为我必须这样做,因为签署我的支票的人是这样说的。:P)我是在Java中长大的,当我有机会时,我通常不会在C#中阅读或写作。 我今天遇到了一些我从未见过的语法,而且我似乎无法弄明白。 在以下方法声明中,表示什么? static void Foo (params T [] x) 我已经看到与声明generics集合和事物一起使用,但我不能为我的生活弄清楚它对这种方法的作用。 如果它很重要,我在考虑一些C#脑筋急转弯时遇到过它。 第六个预告片包含整个代码段。

为什么只有一个语句的方法需要括号?

public void Finalise() ProcessFinalisation(true); 不编译,但正确的版本: public void Finalise() { ProcessFinalisation(true); } 编译好(当然)。 如果我被允许,如果没有括号,则以下代码只有一行: if(true) CallMethod(); 具有以下一行的方法为什么不允许相同? 有技术原因吗?

有没有办法获取传递给方法的参数数组?

说我有一个方法: public void SomeMethod(String p1, String p2, int p3) { #if DEBUG object[] args = GetArguments(); LogParamaters(args); #endif // Do Normal stuff in the method } 有没有办法检索传递给方法的参数数组,以便记录它们? 我有很多方法,并希望避免手动将参数按名称传递给记录器,因为人为错误将不可避免地蔓延。 我猜它会以某种forms涉及reflection – 这很好,因为它只会用于调试目的。 更新 更多信息: 我无法更改SomeMethod的方法签名,因为它作为WebMethod公开,并且必须复制它模拟的遗留系统。 遗留系统已经记录了传入的参数。从新实现开始将包装遗留系统,所以我希望记录进入C#版本的参数,以便我可以validation正确的参数是否传入按正确的顺序。 我只是想记录参数值和顺序,而不是它们的名字。

从ASP.NET中的POST方法检索数据

我正在使用ASP.NET。 有一个系统需要将数据发布到我的网站,他们要求的只是为我提供一个URL。 所以我给了他们我的urlhttp://www.example.com/Test.aspx 。 现在我不确切知道他们如何发布它但现在在我的Test.aspx页面上我需要编写将数据保存到数据库的代码。 但是我的Test.aspx页面如何工作以及我该怎么做? 我在我的页面加载事件中写了一些代码,它向我发送一个关于页面加载的电子邮件,看看它们是否真的到达了页面,看起来它们看起来不是甚至?

创建数据库查询方法

我不确定是否已被删除,但我想要做的是创建一个返回查询结果的方法,以便我可以重用连接代码。 据我了解,查询返回一个对象,但我如何传回该对象? 我想将查询作为字符串参数发送到方法中,并让它返回结果,以便我可以使用它们。 这就是我在黑暗中刺伤的东西,它显然不起作用。 这个例子是我尝试使用查询结果填充列表框; 工作表名称为Employees,字段/列是名称。 我得到的错误是“Complex DataBinding接受IList或IListSource作为数据源。”。 有任何想法吗? public Form1() { InitializeComponent(); openFileDialog1.ShowDialog(); openedFile = openFileDialog1.FileName; lbxEmployeeNames.DataSource = Query(“Select [name] FROM [Employees$]”); } public object Query(string sql) { System.Data.OleDb.OleDbConnection MyConnection; System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(); string connectionPath; //build connection string connectionPath = “provider=Microsoft.Jet.OLEDB.4.0;Data Source='” + openedFile + “‘;Extended Properties=Excel 8.0;”; MyConnection = new System.Data.OleDb.OleDbConnection(connectionPath); […]

使用扩展方法min()获取具有最小值的对象

list.Min()得到最小值为整数。 我想获取List中具有特定属性X的最小值的对象。我该怎么做?

如何让IsKeyDown方法在C#中工作

我无法弄清楚如何让这个方法工作: System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key) 对象浏览器说明如下: public static bool IsKeyDown(System.Windows.Input.Key key) System.Windows.Input.Keyboard的成员 摘要: 确定是否按下指定的键。 参数: key:指定的密钥。 返回值: 如果key处于down状态,则为true; 否则,是的。 好的,所以它是键盘的成员,对吧? 我使用了以下代码:Keyboard test = new Keyboard(); 但是当我输入测试然后输入点时,IsKeyDown不是一个选项。 唯一的选项来自Windows.Forms成员。 我在这里想念的是什么? 谢谢。

将方法存储为类的成员变量

我把它作为我的’KeyEvent’类的成员之一: private delegate void eventmethod(); 和构造函数: public KeyEvent(eventmethod D) { D(); } 我想要做的不是在那里调用D(),我想将该方法(D)存储为KeyEvent的成员变量,所以类似于: stored_method = D(); 然后在另一个KeyEvent方法中,执行以下操作: stored_method(); 我怎样才能做到这一点?

如果我调用SqlReader.Read,应该调用SqlDataReader.HasRows

试着看看在while (dr.read())函数之前添加if (dr.HasRows)是否有益。 我的意思是,从技术上讲,如果它没有行,它就不会读取,所以如果你先检查它会有关系吗? using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.HasRows) { while (dr.Read()) { ….do stuff here } } } 或者如果你只是确保它具有提供的价值,这基本上会做同样的事情…… using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { ….do stuff here } }

动态地将方法/方法指定为变量

所以我有两个名为A和B的课程。 A有一个方法“public void Foo()”。 B还有其他几种方法。 我需要的是B类中的一个变量,它将被赋予A类的Foo()方法。此变量之后应该被“执行”(=>所以它应该执行A类的指定方法)。 这该怎么做?