比方说,我正在VB.Net中的一个小批处理控制台应用程序。 我想能够像这样构build应用程序: Sub WorkerMethod() 'Do some work Trace.WriteLine("Work progress") 'Do more work Trace.WriteLine("Another progress update") '… End Sub Sub Main() 'Do any setup, like confirm the user wants to continue or whatever WorkerMethod() End Sub 请注意,我使用Trace而不是Console作为输出。 这是因为worker方法可能是从其他地方调用的,甚至生活在不同的程序集中,我希望能够附加不同的跟踪监听器。 那么如何将控制台连接到跟踪? 我已经可以通过定义一个简单的类(如下所示)并将一个实例添加到Trace的侦听器集合中,但我想知道是否有一个更接受或内置的方式来实现这一点: Public Class ConsoleTrace Inherits Diagnostics.TraceListener Public Overloads Overrides Sub Write(ByVal message As String) Console.Write(message) End Sub […]
在VB.NET中,有没有办法将DateTimevariables设置为“not set”? 为什么可以将DateTime设置为Nothing ,但不可能检查它是否为Nothing ? 例如: Dim d As DateTime = Nothing Dim boolNotSet As Boolean = d Is Nothing 第二个语句抛出这个错误: 'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types.
如果我在一个使用中包装一个SQLConnection,我应该closures它还是使用处理结束? using cn as new system.data.sqlclient.sqlconnection() cn.open '{do a bunch of other stuff with commands and datareaders here} cn.close 'Do I need this? end using
我想知道为什么“部分类”的概念甚至存在于C#/ VB.NET中。 我正在编写一个应用程序,我们正在阅读与我们正在实施的开发平台有关的(实际上是非常好的)一本书。 在本书中,作者提供了一个关于平台API的大型代码库/包装器,并解释了他在教授关于平台开发的不同主题时如何开发它。 无论如何,长话短说 – 他在整个地方使用部分类,以此来伪造C#(IMO)中的多重inheritance。 他为什么不把课程分成多个class,用作文是超越我的。 他将有3个“部分类”文件来构成他的基类,每个文件都有3-500行代码……并且在他的API中多次执行。 你觉得这是合理的吗? 如果是我,我会遵循SRP并创build多个类来处理不同的所需行为,然后创build一个基类,并将这些类的实例作为成员(例如组合)。 为什么MS甚至把部分类放入框架? 他们删除了在C#中每个范围级别展开/折叠所有代码的能力(这在C ++中是允许的),因为显然只是允许不好的习惯 – 部分类别是IMO。 我想我的问题是:你可以向我解释什么时候会有一个合理的理由来使用部分类? 编辑:我知道,对于Web / WinForms没有其他select。 但在这之外呢? 为什么没有MS只是把一些不同的关键字粘在代码生成的类中? 还是真的有一个合理的devisescheme是值得的吗? 我不是说这是一个咆哮/战争线程。 我真的很想在这里学习一些东西。 什么时候应该在代码devise中使用部分类? 简单的问题,不需要closures 谢谢
VB.NET有一个直接等价于C# outfunction参数,其中传递到一个函数的variables不需要被初始化?
我将Ids的ArrayList存储在一个处理脚本中,我想将其作为逗号分隔列表吐出,以便输出到debugging日志。 有没有办法,我可以很容易得到这个没有循环的事情? 编辑:感谢Joel指出在.net 2.0及更高版本中可用的列表(T)。 如果你有它可以使事情变得更容易。
我将各种对象传递给子例程来运行相同的过程,但每次使用不同的对象。 例如,在一种情况下,我使用的是ListView,而在另一种情况下,我正在传递一个DropDownList。 我想检查是否传递的对象是一个DropDownList然后执行一些代码,如果是。 我该怎么做呢? 我的代码到目前为止不起作用: Sub FillCategories(ByVal Obj As Object) Dim cmd As New SqlCommand("sp_Resources_Categories", Conn) cmd.CommandType = CommandType.StoredProcedure Obj.DataSource = cmd.ExecuteReader If Obj Is System.Web.UI.WebControls.DropDownList Then End If Obj.DataBind() End Sub
使用Option Strict On : Dim theLetterA As Char = "A" 返回有关将string"A"转换为Char 。 inputChar的语法是什么?
我有一个场景,我必须检查用户是否已经打开Microsoft Word。 如果他有,那么我必须杀死winword.exe进程,并继续执行我的代码。 任何人有任何使用vb.net或c#杀死进程的直接代码?
C# As关键字的VB.NET中的等效内容如下所示? var x = y as String; if (x == null) …