Tag: 引用

C#.Net Dll引用依赖项

我编写了一个DLL库MyLIB.dll (版本1.0.0 ),它依赖于第三方DLL库OtherLIB.dll (版本1.0.0 )。 库可以在NuGet上使用OtherLIB.dll ,我将通过NuGet包管理器将其添加到MyLIB.dll项目中。 现在让我们说我正在编写一个新的应用程序,比如MyAspNetMvcApp ,我正在通过NuGet向它添加MyLIB.dll (版本1.0.0 )。 它会自动添加OtherLIB.dll (版本1.0.0 ),因为它依赖于它。 一切都很好,但…… 一个月后,发布了新版本的OtherLIB.dll – 版本1.0.1 。 我正在通过NuGet更新它。 现在,我的ASP.NET MVC应用程序停止工作,因为MyLIB.dll引发了exception。 它期望版本1.0.0中的 OtherLIB.dll ,但已经使用了更新的版本。 在MyLIB.dll项目引用中,我可以看到OtherLIB.dll的 “特定版本”标志被设置为“False”,所以我不知道这里发生了什么…… 除了在web.config文件中提供程序集绑定之外,是否有可能以其他方式解决此问题? 我如何为MyLIB.dll添加对OtherLIB.dll的引用,以便在将OtherLIB.dll更新为较新版本时不会出现exception?

在C#中引用数组的一部分

我有一个包含一些数据的数组,比如标题和真实数据。 我需要将数组中包含的数据传递给方法,但我绝对想避免将其复制到另一个数组。 我想到了像ArraySegment这样的东西,但似乎在我的情况下不起作用(或者我错了?)。 那么,如何将数组的一部分传递给方法,因为它本身就是一个数组? 谢谢您的回复! 干杯

为什么我会在创建和返回新结构时遇到此错误?

编译此代码时出错: using System; public struct Vector2 { public event EventHandler trigger; public float X; public float Y; public Vector2 func() { Vector2 vector; vector.X = 1; vector.Y = 2; return vector; // error CS0165: Use of unassigned local variable ‘vector’ } } 您好! 编译器说:“使用未分配的局部变量’vector’”并指向返回值。 在我看来,Vector2成为一个引用类型(没有事件成员它正常行事)。 怎么了?

c#中非静态字段的对象引用

我在c#中创建了一个函数: public void input_fields(int init_xcor, int init_ycor, char init_pos, string input) { char curr_position = ‘n’; foreach (char c in input) { if (c == ‘m’) { Move mv = new Move(); if (curr_position == ‘e’ || curr_position == ‘w’) { init_xcor = mv.Move_Step(curr_position, init_xcor, init_ycor); } else { init_ycor = mv.Move_Step(curr_position, init_xcor, init_ycor); } […]

关于将EndPoint传递给Socket.ReceiveFrom()的不确定性

如果我做这样的事情: byte[] buffer = new byte[1024]; Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint remote = new IPEndPoint(IPAddress.Parse(“12.34.56.78”), 1337); sock.ReceiveFrom(buffer, ref remote); ReceiveFrom方法是否只接收来自正在传递的端点的数据包? 文档说明如下: 使用无连接协议,ReceiveFrom将读取接收到本地网络缓冲区的第一个入队数据报。 这是否意味着传递的EndPoint仅用于存储数据包来自的主机的EndPoint,并且根本不影响ReceiveFrom方法的行为? 如果是这样,为什么需要将其作为“ref”而不是“out”传递?

C#引用数组

我怎么能这样做? int v1 = 4; int v2 = 3; int v3 = 2; int v4 = 1; int [] vars = new int [] {ref v1, ref v2, ref v3, ref v4}; for (var i = 0; i < 4; i++) { ChangeVar (vars [i], i); } void ChangeVar (ref int thatVar, int newValue) { […]

引用IBM.Data.DB2中的代码使得程序集不可用于我的其余解决方案

我有一个带有三个程序集的C#控制台应用程序: Main , Common和Utilities 。 在Main集Main.cs的文件中,我有一行: using Utilities; 在Common程序IBM.Data.DB2.dll的目录中,我有DLL IBM.Data.DB2.dll 。 在Utilities集中,我有一个访问所述dll的源模块。 实用程序具有对IBM.Data.DB2的引用。 在这个程序Util.cs的源文件Util.cs ,我有一行: using IBM.Data.DB2; 如果在此文件的方法中,我对DB2程序集中的代码进行任何引用,如: DbConnection c = new DB2Connection( _connectString ); 我收到一个错误,编译Main集,指出无法找到名称空间名称Utilities 。 无论有没有线路, Utilities编译都很好。 如果我注释掉上面这一行,那么一切都很好。

C#容器通过引用或值初始化?

我对C ++很有经验,但对C#来说有点新鲜。 将对象添加到容器时,它们是通过引用还是按值传递的? 也就是说,如果我这样做: myClass m = new myClass(0); //Assume the class just holds an int List myList = new List(1); myList.Add(m); myList[0] += 1; Console.WriteLine(m); Console.WriteLine(myList[0]); 结果是: 0 1 还是会的? 1 1 ? 如果是前者,那怎么能让我做到后者呢? 我的第一直觉是做类似的事情 myClass ref mref = m; Console.WriteLine(mref); 但这似乎不是有效的语法。

Asp.net从aspx中的Textbox获取价值以代码落后

我正在用asp.net和C#编程语言创建一个登录系统。 完成处理用户和密码的代码。 但在视图层,我很难从用户名文本框和密码文本框中获取值并将其传递给代码隐藏。 两个文本框都是ID标识,在我的一些编程技巧中,ID应该足以访问元素。 这是我的aspx登录页面: Log in Form User name Password Remember me? 我确实从UserName和Password Textbox获取了值: 使用代码: string user = this.UserName.Text; string pass = this.Password.Text; 使用代码: Textbox UserName = this.FindControl(“UserName”); 删除了aspx.design.cs并右键单击表单并将其转换为应用程序; 在设计器中,添加以下代码行: protected global::System.Web.UI.WebControls.TextBox UserName; protected global::System.Web.UI.WebControls.TextBox Password; 到目前为止没有任何工作,当我达到这条线时: string user = this.UserName.Text; 它抛出了一个错误: Object Reference未设置对象的实例。 你能建议解决我的问题吗?

空对象引用错误

我创建了一个类如下 public class Table { public enum ColumnNames { ID, TableName, Active, Date } public List Parameters { get; set; } } public enum Types { INT, STRING, DATETIME, BOOLEAN, DECIMAL } public class TableParameter { public Table.ColumnNames ParameterName { get; set; } public Types? Tip { get; set; } public dynamic Value { get; […]