草庐IT

user_interface_kit

全部标签

c# - 使用 "dynamic"的基于接口(interface)的方法调用是否仍应遵守 C# 方法解析规则?

据我了解,每种语言都可以拥有自己的dynamic处理程序,以便应用适当的规则。我不确定以下内容是否正确/不正确;想法?场景:两个接口(interface)(一个实现另一个)和一些方法:publicinterfaceIA{voidBar(objecto);}publicinterfaceIB:IA{voidFoo(objecto);}和一个基本的实现:publicclassB:IB{publicvoidFoo(objecto){Console.WriteLine("Foo");}publicvoidBar(objecto){Console.WriteLine("Bar");}}现在,使用

c# - C# 中的 "Abstract"接口(interface)

这是一个学术问题。背后可以说是一个X-Y问题,稍后我可能会单独发布。但我实际上对这里的学术问题特别感兴趣。我经常发现我有一组接口(interface),它们都具有共同的属性。我想定义一个基本接口(interface)来通用化这些接口(interface),部分原因是为了避免重复,部分原因是我可以传递一个对象并在不知道确切类型的情况下使用通用方法。也许我有IFooRepository,IBarRepository等,我可以声明IRepository.或者我有一个IHappyBot,ISadBot,IConfusedBot,所有这些都有IBot共同点。值得注意的是,没有任何类会直接实现这些

c# - 通用方法参数的接口(interface)约束

在我寻求正确理解C#的过程中,我发现自己在问在泛型方法参数上指定接口(interface)约束与简单地将接口(interface)指定为参数类型之间的实际区别是什么?publicinterfaceIFoo{voidBar();}publicstaticclassClass1{publicstaticvoidTest1(Targ1)whereT:IFoo{arg1.Bar();}publicstaticvoidTest2(IFooarg1){arg1.Bar();}}编辑我知道我的示例非常狭窄,因为它只是一个示例。我对超出其范围的差异很感兴趣。 最佳答案

c# - 我可以将基于接口(interface)的对象传递给 MVC 4 WebApi POST 吗?

我想要这样的API:publicclassRelayController:ApiController{//POSTapi/valuespublicvoidPost([FromBody]IDataRelayPackagepackage){MessageQueuequeue=newMessageQueue(".\\private$\\DataRelay");queue.Send(package);queue.Close();}}我得到的“包”值为空,所以我想知道可能出了什么问题。我唯一的想法是默认的JSON序列化器无法处理这个问题,但我不清楚如何修复它。 最佳答

c# - IoC - 单一接口(interface)的多种实现支持

我想知道为什么.NetIoC容器不容易支持单个接口(interface)的多种实现!可能是我错了,但据我所知,像Ninject这样的框架使用注释(how?)部分支持此功能。我认为Windsor或简单注入(inject)器等其他框架没有支持这种情况的简单机制。为什么很多框架不支持这有什么原因吗?AFAIK,使用接口(interface)的最重要原因之一是实现松散耦合。如果旨在改善松散耦合的框架不能流畅地支持单个接口(interface)的多个实现,我不明白为什么!附言当然我理解在运行时会有解析的问题,容器会纠结选择哪个实现,但这是设计中必须要考虑的事情,对吧?

c# - 如何使用 IComparable 接口(interface)?

我需要一个基本示例来说明如何使用IComparable接口(interface),以便我可以按升序或降序以及我正在排序的对象类型的不同字段进行排序。 最佳答案 好吧,因为你正在使用List只使用Comparison会简单得多,例如:Listdata=...//sortbynamedescendingdata.Sort((x,y)=>-x.Name.CompareTo(y.Name));当然,对于LINQ,您可以只使用:varordered=data.OrderByDescending(x=>x.Name);但是你可以在List中重新

javascript - 浏览器语言检测 : inconsistency between user agent and window. navigator.language

我这样检测浏览器语言:varlanguage=window.navigator.userLanguage||window.navigator.language然后我使用AJAX调用将这个值发送到我的网络服务器。当我检查结果时,我看到了一件奇怪的事情。例如,浏览器的用户代理说当前语言环境是tr-tr,但是当我检查window.navigator.language时,我得到的结果是en.所有这些浏览器都说他们的语言是en:Mozilla/5.0(Linux;U;Android2.2.2;tr-tr;GMFOXBuild/HuaweiU8350)AppleWebKit/533.1(KHTML

javascript - 查询/JS : Detect user's scroll attempt without any window overflow to scroll to

我正在制作一个转换网站,虽然我想使用用户的滚动尝试作为转换启动器,但我不希望有一个窗口滚动条。现在,我只是检测到用户使用jquery滚动(我已经使我的窗口大小比用户的滚动条屏幕高1px,尽管这是我试图避免的)使用jquery.scroll(function)方法,并使用它来转换我的页面,但是我想检测用户的滚动尝试,而不必让我的页面溢出一个像素,从而显示滚动条如何做到这一点?我所知道的乱码可能性:将窗口定位在外部包装器内,并将滚动条隐藏在包装器的溢出中。这是一个修补工作,而不是解决方案。它会导致页面内容偏离中心,因为并非所有浏览器都使用相同的滚动条宽度。 最佳

javascript - 铁路由器 waitOn Meteor.user()

我会在datairon-router中使用Meteor.user(),但这在开始时是未定义的...我正在尝试:waitOn:function(){returncurretUserHandle;},data:function(){//accesstoMeteor.user().username,givemeundefined[...]varcurretUserHandle={ready:function(){return'undefined'!==typeofMeteor.user();}};但是路由的data函数总是在curretUserHandle.ready()返回true之前被调

javascript - Node.appendChild 的参数 1 没有实现接口(interface) Node

我是JavaScript的新手,我不知道什么是接口(interface)节点?下面是我的错误代码Panel=function(){varpopUpDiv=document.getElementById("firewall-content");varpanelDiv=$("").addClass("side_panel");popUpDiv.appendChild(panelDiv);}; 最佳答案 appendChild是原生DOM方法,只接受DOM节点作为参数。您尝试附加的元素(panelDiv)是一个jQuery对象,而不是DO