Tag: vb.net

使用适配器模式包装系统对象(File,ServiceController等)与unit testing绕行有什么好处?

请考虑以下停止服务的方法: Public Function StopService(ByVal serviceName As String, ByVal timeoutMilliseconds As Double) As Boolean Try Dim service As New ServiceController(serviceName) Dim timeout As TimeSpan = TimeSpan.FromMilliseconds(timeoutMilliseconds) service.[Stop]() If timeoutMilliseconds <= 0 Then service.WaitForStatus(ServiceControllerStatus.Stopped) Else service.WaitForStatus(ServiceControllerStatus.Stopped, timeout) End If Return service.Status = ServiceControllerStatus.Stopped Catch ex As Win32Exception 'error occured when accessing a system API' Return False Catch […]

从应用程序的资源加载.NET程序集并从内存运行它,但不终止主/主机应用程序

介绍 我正在使用David Heffernan共享的下一个C#代码示例, 从应用程序的资源加载.NET程序集并从内存运行它 : Assembly a = Assembly.Load(bytes); MethodInfo method = a.EntryPoint; if (method != null) method.Invoke(a.CreateInstance(method.Name), null); 在这里,我只是在VB.NET中分享我正在使用的改编: Public Shared Sub Execute(ByVal resource As Byte(), ByVal parameters As Object()) Dim ass As Assembly = Assembly.Load(resource) Dim method As MethodInfo = ass.EntryPoint If (method IsNot Nothing) Then Dim instance As Object = ass.CreateInstance(method.Name) method.Invoke(instance, […]

在WinRT应用程序中处理2,3,4,5手指轻敲,双击并保持手势

我可以轻松处理1个手指Tapped , DoubleTap和Holding手势,如下所示: public MainPage() { this.InitializeComponent(); this.Tapped += mc_Tapped; this.DoubleTapped += mc_DoubleTapped; this.Holding += mc_Holding; } public void mc_Tapped(object sender, TappedRoutedEventArgs e) { //Tap } public void mc_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { //DoubleTap } public void mc_Holding(object sender, HoldingRoutedEventArgs e) { //Hold } 但是这些事件没有获得手指数量的属性,当屏幕上出现超过1个触摸接触时,它们甚至不会被触发。 我还想处理DoubleTap个手指Tapped , DoubleTap和Holding手势。 谁能告诉我怎么做?

什么是触发Application_End事件的场景?

Asp.net有一个Application_End事件,它发生在应用程序结束时,就像这样 void Application_End(object sender, EventArgs e) { } 我的问题如下:这个事件什么时候发生在真实中,即什么样的情况触发它? 假设我有一个24x7x365运行的银行Web应用程序,它一次连续执行并从数千个地方访问,然后这个Application_End事件何时发生? 什么样的情况对此负责?

将.NET P / Invoke代码组织到Win32 API的最佳实践

我在.NET中重构了一个庞大而复杂的代码库,它大量使用P / Invoke到Win32 API。 项目的结构并不是最好的,我发现DllImport语句遍布整个地方,经常为同一个函数复制,并且还以各种方式声明: import指令和方法有时被声明为public,有时是private,有时是静态的,有时也是实例方法。 我担心重构可能会产生意想不到的后果,但这可能是不可避免的。 是否有可以帮助我的最佳实践记录? 我的目标是组织一个静态/共享的Win32 P / Invoke API类,它在一个文件中列出所有这些方法和相关的常量… 编辑对user32 DLL有超过70个导入。 (代码库由20多个项目组成,包含大量的窗口消息传递和跨线程调用。如果有所不同,它也是从VB6升级的VB.NET项目。)

C#类库方法摘要未在vb.net项目的intellisense中显示

(VS 2008)我正在为我的VB.NET项目使用C#库。 并且方法摘要/注释或它们被称为什么不会在intellisense中显示。 这应该是那样的吗? 或者我必须做些什么来解决它? 如果没有,VS 2010能否做到这一点? 编辑:仍未解决。 现在构建库dll + xml文件,但是如何在我的vb项目中导入xml文件? 见图: http : //i52.tinypic.com/25kh5xw.png

C#比VB.NET快吗?

你认为两者都是一样的。 但也许这是微软使用的编译器,但我注意到在编译两个非常小的程序时,相同的逻辑。 VB.NET使用更多的IL指令。 是否真的比c#必须更快,只是因为它的编译器更聪明。

VB中的多分配,如C风格的语言

有没有办法在VB.NET中执行此操作,如在C风格的语言中: struct Thickness { double _Left; double _Right; double _Top; double _Bottom; public Thickness(double uniformLength) { this._Left = this._Right = this._Top = this._Bottom = uniformLength; } }

在表更新时,触发我的.NET代码中的操作

我想知道这是否可行。 当更新特定表中的值时,我们希望函数在我们的.NET代码中工作。 这可以是记录插入或更新。 这可能吗? 如果没有,是否有替代流程?

为什么VB.NET 9没有像C#3这样的自动属性?

有一个很好的小function,可以更快地编写自动属性等代码非常适合VB.NET的口头禅吗? 像这样的东西会很完美: Public Property FirstName() As String Get Set End Property 更新: VB.NET 10(随Visual Studio 2010和.NET 4.0一起提供)将具有自动属性。 这是一个链接,显示有关该function的一些信息: http : //geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx 在VB.NET 10中,自动属性将定义如下: Public Property CustomerID As Integer