草庐IT

VM虚拟机

全部标签

c# - 在 WPF M-V-VM 中撤消,它如何适应?

在我以前的项目中,我已经用c++实现了撤销系统,我知道它是如何工作的。我也知道命令模式。我将实现一个C#/WPF桌面应用程序,并希望我的设计基于M-V-VM模式。应用程序将:是一个相对较小的项目(1名开发人员预计工作2-3周)拥有一个具有持久性的简单数据模型(linqtoXML)支持撤销/重做我想知道是否有人在遵循M-V-VM模式时有过实现撤消系统的经验。它如何适合它?它如何从INotifyPropertyChanged和INotifyCollectionChanged通知中获益,以便在实现模型(业务对象)时需要最少的工作。我认为撤消系统会以某种方式集成到ViewModel层中,因为它

c# - 显式接口(interface)实现不能是虚拟的

郑重声明,我已经看过这个connectitem但我真的不明白支持这个会有什么问题。假设我有以下代码:publicinterfaceIInterface{voidMethod();}publicclassBase:IInterface{virtualvoidIInterface.Method(){thrownewNotImplementedException();}}虚拟标识符有什么问题?使用virtual修饰符可以override指示基类中有不同的实现。我现在可以通过删除虚拟方法并像这样创建派生类来使其工作:publicclassDerived:IInterface{voidIInte

c# - 反射说接口(interface)方法在实现类型中是虚拟的,而实际上它们不是?

我在单元测试中有以下代码publicboolTestMethodsOf(){varimpl=typeof(T);varvalid=true;foreach(varifaceinimpl.GetInterfaces().Where(i=>typeof(I).IsAssignableFrom(i))){varmembers=iface.GetMethods();foreach(varmemberinmembers){Trace.Write("Checkingifmethod"+iface.Name+"."+member.Name+"isvirtual...");varimplMember=

c# - 忽略虚拟属性

我们有带EntityFramework的MVC4项目用于存储。对于我们的测试,我们最近开始使用Autofixture,它真的很棒。我们的模型图非常深,通常通过AutoFixture创建一个对象会创建整个图:Person->Team->Departments->Company->Contracts->....等问题是时间。创建对象最多需要一秒钟。这会导致测试缓慢。我发现自己经常做的事情是这样的:varcontract=fixture.Build().Without(c=>c.Person).Without(c=>c.PersonContractTemplate).Without(c=>c

c# - 关闭 VM 会将所有 VM 状态返回为未知

当使用以下方法关闭和查询角色实例时。当我关闭VM时,所有其他角色实例都返回,状态为就绪状态未知。大约几分钟后,我可以再次查询并获得实际状态。如何使用Azure管理API实时获取实际状态。或者这是虚拟机配置方式的问题?它们配置了相同的存储位置和相同的虚拟网络显示的代码基于VisualStudio2015中部署和管理虚拟机的模板。关闭虚拟机的调用:varshutdownParams=newVirtualMachineShutdownParameters();if(deallocate)//deallocateistrueinthisinstanceshutdownParams.PostSh

c# - WPF 列表框虚拟化创建 DisconnectedItems

我正在尝试使用WPF列表框创建图形控件。我创建了自己的Canvas,它派生自VirtualizingPanel,我自己处理项目的实现和虚拟化。然后将列表框的项目面板设置为我的自定义虚拟Canvas。我遇到的问题发生在以下场景:首先创建列表框项A。ListBox项目B创建在Canvas上项目A的右侧。ListBoxItemA首先被虚拟化(通过将其平移出View)。ListBoxItemB第二个被虚拟化(再次通过将其平移到View之外)。将ListBox项A和B置于View中(即:实现它们)使用Snoop,我检测到ListBox现在有3个项目,其中之一是“DisconnectedItem”

c# - 在最小起订量中模拟虚拟成员

对于单元测试,我使用的是NUnit2.6和Moq4.0。有一个关于虚拟成员的特殊情况,其中Moq的代理对象不会将方法调用中继到实际实现(可能是设计使然)。例如,如果我有一个类...publicclassMyClass{protectedvirtualvoidA(){/*...*/}protectedvirtualvoidB(...){/*...*/}}...我使用Moq在我的测试夹具中覆盖GetSomethingElse的A()方法...varmock=newMock();mock.Protected().Setup("A").Callback(SomeSortOfCallback);

c# - 如何查看我的windows服务器是虚拟机还是物理机

我正在将桌面远程连接到我们实验室/数据中心的Windows服务器。我需要以编程方式弄清楚我们所有的服务器是虚拟机还是物理服务器,当然我们有环境表告诉我们哪个是哪个。但是我需要写代码来区分它。我需要使用什么技术?我没有找到.Net程序集来执行此操作。寻找专家分享您的知识或指导,任何研究方向或链接,我们将不胜感激! 最佳答案 您可以尝试使用以下PowerShell脚本,它利用WMI来确定机器是虚拟机还是物理机。gwmi-q"select*fromwin32_computersystem"当然,您也可以使用C#代码来查询WMI。上面脚本的

c# - "this"可以在 C# 虚拟方法中为 null 吗?其余的实例方法会发生什么?

我很好奇是否有办法让C#中的虚方法中的this为null。我认为这是不可能的。我在现有代码中看到了这一点,在代码审查期间,我想100%肯定会对其删除发表评论,但我希望得到社区的一些确认和更多背景信息。this!=null在任何非静态/实例方法中都是这样吗?否则它会是一个空指针异常吗?我在考虑扩展方法以及我可能不熟悉的来自多年Java的任何C#功能。 最佳答案 这不是标准的C#,而是来自Lasse的答案和Jon,通过一些IL-fiddling,您可以进行非虚拟调用(对虚拟或非虚拟方法)传递空this:usingSystem;using

c# - 为什么在实现接口(interface)方法时允许虚拟?

我对接口(interface)有一个特定的查询。默认情况下,接口(interface)方法是抽象的和虚拟的,所以如果我们实现该接口(interface)并在类中给出定义,我们实际上会重写该方法,但是当我们在实现类中再次将方法标记为虚拟时,为什么编译器不考虑我们实际上是想隐藏原来的接口(interface)虚方法。如果我们在基类中有一个虚方法并且派生类再次将该方法标记为虚方法,在这种情况下编译器会警告您隐藏了基类方法,因此如果您有意隐藏基类方法,请使用new.publicinterfaceITestInterface{voidvirtualmethod();//thismethodisb