【c# – 为什么在使用对象远程处理MarshalByRefObj时使用委托?】教程文章相关的互联网学习教程文章

c# – 所有对象是否应解耦

我有一个问题似乎无法在任何地方得到解答.这是关于将代码与接口分离的问题.问题是 – 是否应将其他对象(正在创建和使用)中的所有对象重构为接口,以遵循S.O.L.I.D.的依赖性反转原则?那么在偶数驱动方法中新建对象怎么样?我按下按钮时调用的方法.是否应该传递对象,比如说构造函数?当然这一切都适用于我的对象,而不是BCL吗?解决方法:millimoose给出了一个很好的答案.它特别好,因为它是任何编程问题的正确答案:) 我想详细说明一下....

c# – 将JSON数据传递给控制器​​方法而不必声明对象【代码】

我正在使用ASP.NET MVC和jQuery通过AJAX调用来保存一些数据.我目前使用jQuery ajax()函数传递一些JSON数据$.ajax({dataType: 'json',type: 'POST',url: '@Url.Action("UpdateName", "Edit")',data: {id: 16,name: 'Johnny C. Bad'} });使用这个控制器方法和辅助类.public void UpdateName(Poco poco) {var person = PersonController.GetPerson(poco.Id); person.Name = poco.Name;PersonController.UpdatePerson(person); }publ...

包装C对象以便与C#PInvoke一起使用时的析构函数执行【代码】

我有一个C类,我想在C#中使用.为此,我试图编写另一个C dll来包装这个类(它是另一个库的一部分),具有可调用的函数(使用“extern C和__declspec(dllexport)”).我的想法是保持指向我的对象的指针并将其发送到包装器DLL中的函数,然后从那里调用该对象的方法.这看起来很好但是当对象具有解构器时会出现问题. 这是我的C包装器代码:( Device是我的C类/对象)__declspec(dllexport) Status Device_open(Device* di, const char* uri) {Devic...

c# – Expression.Convert:’System.Int64’类型的对象无法转换为’System.Int32’类型【代码】

我在昨天here问了一个关于从匿名对象中读取属性并将它们写入类的私有字段的问题.问题解决了.这是一个短篇小说: 我有一些json格式的数据.我将它们反序列化为ExpandoObject,并将它们作为IDictionary< string,object>传递给它们.方法.它工作正常,除了Int32属性.看来他们改成了Int64,在哪里?我不知道. 这是方法:private Func<IDictionary<string, object>, dynamic> MakeCreator(Type type, Expression ctor,IEnumerable<PropertyTo...

【转载】C#中List集合使用Exists方法判断是否存在符合条件的元素对象【代码】

在C#的List集合操作中,有时候需要根据条件判断List集合中是否存在符合条件的元素对象,此时就可以使用List集合的扩展方法Exists方法来实现,Exists方法的签名为bool Exists(Predicate<T> match),match代表条件方法表达式,一般使用Lambda表达式为多,通过Exists判断是否存在符合条件的元素对象比使用for循环或者foreach遍历查找更简便直接。 (1)对List<int>集合对象list1进行查找判断是否有元素对象的值为7List<int> list1 = n...

C#实例拷贝/传递对象引用与Java不同?【代码】

class Player {private Location location;public Location getLocation(){return location;}public void setLocation(Location location){this.location = location;} }…class Location {int x,y,z;public Location(int x, int y, int z){this.x = x;this.y = y;this.z = z;}public Location(Location location){this.x = location.x;this.y = location.y;this.z = location.z;}public void updateLocation(Location location) /...

c# – MVC MusicStore Artist.Name对象引用未设置为对象的实例【代码】

通过MVC MusicStore学习MVC时,我的头脑开裂.详细信息视图页面的Model.Artist.Name出现此错误. 我的Storecontroller Details方法应该没问题.public ActionResult Details(int id){//returns and albums searched from the id var albums = storeDB.Albums.Find(id);return View(albums);}这就是我输出视图的方式<li>Price : <%=Model.Price %></li><li>Artist : <%=Model.Artist.Name%></li>价格合理,只显示Model.Genre.Name和Artis...

c# – 如何使锁定对象静态影响其行为?【代码】

假设我有一个类似于以下成员的类:readonly object _locker;我用它来同步代码块,如下所示:lock (_locker) {// Do somethingMonitor.Pulse(_locker); }还有这个:lock (_locker) {while (someCondition)Monitor.Wait(_locker);// Do something else }假设我有这个特定类的多个实例,它们都使用不同的线程同时运行. 如果我将锁定器对象设置为静态,那么锁的行为和Monitor.Wait和Monitor.Pulse调用会发生什么?static readonly object ...

c# – 关于如何避免两次丢弃对象的建议【代码】

我有一个一次性物品清单,我正在添加到已经包含许多一次性物品的集合中.我将代码包装在try … finally块中,这样如果在我将列表中的项目复制到集合时抛出异常,则列表中的所有对象都会被正确处理:private static void LoadMenuItems(ApplicationMenu parent) {List<ApplicationMenuItem> items = null;try{items = DataContext.GetMenuItems(parent.Id);foreach (var item in items){parent.Items.Add(item);}items = null;}finally{...

c# – Lambda Expression指定源对象【代码】

背景:由于我们在C#MVC3中开发,我们希望有一些类用于处理网页上的表. (分页/搜索等等). 所以我们终于发现拥有以下类可能是最好的: 将保存所有其他对象并知道当前页面/当前搜索等的表对象…(misc信息)public class Table<T> where T : IPrivateObject {...public ICollection<Column<T>> Columns { get; set; }public ICollection<Row<T>> Rows { get; set; }public ICollection<RowMenu<T>> Menus { get; set; }public ICollectio...

c# – 如何在导航到PRISM中的新视图时传递对象?【代码】

据我所知,目前PRISM允许传递字符串,但不允许传递对象.我想知道克服这个问题的方法是什么. 我想传递一个列表集合.在我的情况下,UriQuery没用,在这种情况下我该怎么办?解决方法:我有自己的技术. 我提取对象的哈希码并将其保存在Dictionary中,哈希码作为键,对象作为对的值. 然后,我将哈希代码附加到UriQuery. 之后,我只需要在目标视图上获取来自Uri的哈希码,并使用它来从Dictionary中请求原始对象. 一些示例代码: 参数存储库类:pub...

c# – 可以将对象自动分配给第二代GC吗?

在一次采访中,我被问到是否会有一些物体被自动分配给第二代垃圾收集器,我不知道该回答什么. 这可能吗? 也许如果物体足够大以保持零或第一代?解决方法:新分配的对象形成新一代对象,并且隐式生成0集合,除非它们是大对象,在这种情况下它们在第2代集合中的大对象堆上. (链接:Fundamentals of Garbage Collection) 所以是的,大型对象会自动转到第2代. 什么时候对象被认为是大的? 在Microsoft.NETFramework 1.1和2.0中,如果对象大于或...

c# – 按customAttribute的值排序对象的属性【代码】

我正在尝试做的是wirte linq表达式,它允许我订购我的List< PropertyInfo>例如,Custom属性的某个对象:public class SampleClass{[CustomAttribute("MyAttrib1",1)]public string Name{ get; set; }[CustomAttribute("MyAttrib2",1)]public string Desc{get;set;}[CustomAttribute("MyAttrib1",2)]public int Price{get;set;} }CustomAttribute.cs:public class CustomAttribute: Attribute{public string AttribName{get;set;}pub...

C#Excel interop – 如何测试互操作对象是否仍在工作并执行任务?【代码】

我循环遍历几个Huncel excel文件的目录,并尝试一次刷新一个excel文件.我不断收到此错误,表示刷新操作仍在文件A上运行,例如,FileB正在尝试启动刷新操作.循环是快速的,不知怎的,我必须等待文件A上的先前刷新操作完成,然后才开始刷新文件B.Unhandled Exception: System.Runtime.InteropServices.COMException: Themessage filter indicated that the application is busy. (Exception fromHRESULT: 0x8001010A (RPC_E_SERVERCALL_RETR...

c# – WPF:绑定到对象的属性;当对象改变时会发生什么?【代码】

假设您有一个带有属性的对象和一个绑定到该对象属性的控件.当该对象被更改时会发生什么? 例如,ViewModel:public class TheViewModel : INotifyPropertyChanged {private TheObjectClass theObject;public TheObjectClass TheObject{get { return theObject; }set { theObject = value; OnPropertyChanged("TheObject"); }} }对象的类:public class TheObjectClass : INotifyPropertyChanged {private ThePropertyClass thePrope...