Tag: 参数

是否可以将属性作为“out”或“ref”参数传递?

我可以将属性作为“out”或“ref”参数传递,如果没有那么为什么不呢? 例如 Person p = new Person(); 。 。 。 public void Test(out p.Name);

C#params object 奇怪的行为

考虑这个代码 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] strings = new string[] { “Test1”, “Test2”, “Test3” }; int[] ints = new int[] { 1, 2, 3, 4 }; Test(strings); Test(ints); } public static void Test(params object[] objects) { } } } 这个页面https://msdn.microsoft.com/fr-ca/library/w5zay9db.aspx 我希望(params object []对象)是一个元素的数组,以字符串[]作为第一个元素,但是当我调试时,我看到(params object []对象)是{“Test1”,“Test2” “,”Test3“}。 但是,使用int [],我得到一个object […]

C#:如何 – 接受新参数的单实例应用程序?

我正在创建一个使用NZB文件下载二进制文件的(C#)程序,我的应用程序可能只有一个实例在运行。 因此,当用户双击.nzb文件并且我的程序未运行时,它应该启动并处理它(简单,文件注册)。 现在,如果我的程序已经运行,我不想启动第二个实例 – 我希望已经运行的实例获取指定的文件。 使用带有.IsSingleInstance技巧的Visual Basic DLL可以完成我的应用程序单实例,但我不想去那里。 正确的方法似乎是使用互斥锁来确保我的应用程序是单实例,但现在我仍然坚持如何将指定的参数(.nzb文件)传递给已经运行的实例。 帮助将不胜感激! 🙂

传递参数以运行应用程序

我正在制作一个图像上传器(将图像上传到图像托管网站),我有一些问题通过参数(图像位置到已经运行的应用程序) 首先让我们说MyApp.exe一直在运行 每当我右键单击图像时,我在默认的Windows上下文菜单中添加了一个项目,上面写着“上传图像”。 当点击它时,它需要将位置传递给已经运行的应用程序。 我的program.cs: static class Program { [DllImport(“user32.dll”)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport(“user32.dll”)] static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, UIntPtr wParam, IntPtr lParam); [DllImport(“user32.dll”, SetLastError = true, CharSet = CharSet.Auto)] static extern uint RegisterWindowMessage(string lpString); [STAThread] static void Main(params string[] Arguments) { if (Arguments.Length > 0) { //This means […]

In和Out属性如何在.NET中运行?

我一直在尝试使用以下代码跨AppDomain边界序列化数组: public int Read(byte[] buffer, int offset, int count) { return base.Read(buffer, offset, count); } 作为猜测,在注意到其他地方的属性后,我用[In]和[Out]属性标记了方法的参数,这似乎导致参数的行为就好像它们是通过引用传递的一样。 例如: public int Read([In, Out] byte[] buffer, int offset, int count) { return base.Read(buffer, offset, count); } 在添加属性之前,从方法跨AppDomain边界返回后, buffer变量的内容丢失了。 类( SslStream )inheritance自MarshalByRefObject但未标记为Serializable属性。 这是使参数按值传递的唯一方法吗? 在序列化类时,这些属性是否被.NET以某种方式识别? 它们真的会导致参数通过引用传递,还是只是复制了内容?

c#在SqlDataAdapter中使用Parameters.AddWithValue

如何将Parameters.AddWithValue与SqlDataAdapter一起使用。 下面搜索代码。 var da = new SqlDataAdapter(“SELECT * FROM annotations WHERE annotation LIKE ‘%”+txtSearch.Text+”%'”, _mssqlCon.connection); var dt = new DataTable(); da.Fill(dt); 我重写了这样的代码: SqlDataAdapter da; da = new SqlDataAdapter(“SELECT * FROM annotations WHERE annotation LIKE ‘%@search%'”, _mssqlCon.connection); da.SelectCommand.Parameters.AddWithValue(“@search”,txtSearch.Text); var dt = new DataTable(); da.Fill(dt); 但它失败了。

C#构造参数查询SQL – LIKE%

我正在尝试为C#中的参数查询构建SQL,以查询包含LIKE %%命令的查询。 这是我想要实现的(请注意数据库是Firebird) var SQL = string.format(“SELECT * FROM {0} WHERE {1} LIKE ‘%?%'”, TABLE, NAME); cmd.Parameters.AddWithValue(NAME, “JOHN”); 现在我尝试了每一个排列来使参数起作用,我试过了; 将%字符添加到参数中 cmd.Parameters.AddWithValue(NAME, “%” + “JOHN” + “%”); 要么 cmd.Parameters.AddWithValue(NAME, “‘%” + “JOHN” + “%'”); 我似乎无法使其工作,我如何使用LIKE查询的参数工作。 欢迎提出建议!

SqlCommand参数添加与AddWithValue

我什么时候应该使用Parameters. Add/AddWithValue Parameters. Add/AddWithValue ? 在下面的MSDN示例中,它们使用Parameters.Add作为int ,使用Parameters.AddWithValue作为string command.Parameters.Add(“@ID”, SqlDbType.Int); command.Parameters[“@ID”].Value = customerID; command.Parameters.AddWithValue(“@demographics”, demoXml); 什么是最适合datetime

MySqlCommand Command.Parameters.Add已过时

我在visual studio 2010中制作了一个C#windows Form Application。 该应用程序正在连接到mysql数据库,我想在其中插入数据。 我现在有这部分代码: MySqlConnection connection; string cs = @”server=server ip;userid=username;password=userpass;database=databse”; connection = new MySqlConnection(cs); connection.Open(); MySqlCommand command = new MySqlCommand(); string SQL = “INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (‘@mcUserName’, ‘@mcUserPass’, ‘@twUserName’, ‘@twUserPass’)”; command.CommandText = SQL; command.Parameters.Add(“@mcUserName”, mcUserNameNew); command.Parameters.Add(“@mcUserPass”, mcUserPassNew); command.Parameters.Add(“@twUserName”, twUserNameNew); command.Parameters.Add(“@twUserPass”, twUserPassNew); command.Connection = connection; command.ExecuteNonQuery(); connection.Close(); […]