Questions tagged «vb.net»

Visual Basic.NET(VB.NET)是一种多范式,托管的,类型安全的,面向对象的计算机编程语言。与C#和F#一起,它是针对.NET Framework的主要语言之一。VB.NET可以看作是Microsoft Visual Basic 6(VB6)的演进,但可以在Microsoft .NET Framework上实现。请勿将此标签用于VB6,VBA或VBScript问题。

8
.NET应用程序的链接器状态(又名“请问,请问我可以有一个链接器” 2009版)
这里的许多人可能都熟悉Joel Spolsky最受欢迎的博客文章之一,请问先生,我可以有一个链接器吗,他在那儿大声疾呼,希望删除对.NET框架的依赖,以便开发独立的应用程序并出售。 当时,Visual Studio开发团队的Jason Zander回答了他对该主题的看法,认为该主题有些争议-他们主要关心的是在运行时(尤其是其中)解决安全问题的能力。总的来说,少量的开销是值得的。 快进到2009年。现在有几个小组声称拥有C#链接器。(Jason Zander甚至对自己说过,实现一个应用程序并不需要太多。)而不是.NET 1.0这么可爱的十几个meg下载,我们现在有了一个庞大的200-300 mb跨平台的完整.NET 3.5安装程序。包含适用于x86,x64和ia64的.NET版本。Microsoft减少运行时大小的建议包括: 解包可再发行组件,删除不需要的目标平台,然后重新组合在一起 使用仅为您的平台下载库的Web引导程序 使用客户端配置文件安装程序(2008年末新增),该安装程序库有限,仅适用于x86 更糟糕的是,据我了解(如果我错了,请纠正我),客户端配置文件甚至没有在Windows上注册为已安装.NET 3.5。这意味着,如果计算机上安装了多个.NET 3.5客户端应用程序,则彼此之间将不会看到对方,并且将一次又一次地重新安装运行时! 我真的不知道微软在这里想什么。即使假设最坏的情况是针对一个目标平台(例如x64)进行安装,并且只需要包括那些库,您仍然会在应用程序上看到60 mb以上的开销。即使是最著名的.NET应用程序之一,Paint.NET,也由于庞大的.NET依赖关系而难以安装应用程序。 如果他们在分发免费应用程序时遇到问题,那么世界其他地方呢?最后,他们必须制作一个引导程序,该引导程序安装了Microsoft Installer 3.1,.NET运行时引导程序以及所有其他从属库然后才能安装自己的应用程序。 那呢 链接器。是否存在任何良好的应用程序-还是仅一种工具就可以构建C#应用程序而无需用户安装大量的.NET运行时? 更新:因此,看起来有两个选择: 单核细胞增多症: Mono有其自己的链接器。从下面的答案看来,它工作得很好。 。净: 异码似乎是一种可用且有效的工具。 卸载推荐使用,它是VMware推荐的。 Remotesoft还有另一个链接器。他们称其为“混淆器”。有什么想法吗? 由Rustemsoft找到了另一个名为Skater .NET Obfuscator的文件。有人熟悉他们吗? 还提出了微软的ILmerge ; 看起来它只执行部分任务(即合并库,而不剥离未使用的位)。 看来Mono工具正在使用;基于.NET的工具呢?他们还有其他经验吗,还是我们只需要等待Microsoft向所有人推出3.5版本?我不禁思索要推出.NET 4.0需要多长时间...
71 c#  .net  vb.net  mono  linker 

5
获取当前方法的名称
这是一个愚蠢的问题,但是是否有可能从该方法中获取当前正在执行的方法的名称? Public Sub SomeMethod() Dim methodName as String = System.Reflection.[function to get the current method name here?] End Sub 谢谢

10
字符串是原始类型吗?
我对字符串和原始类型感到好奇。文章像这样说字符串是基本类型。但是,有关MSDN的第二篇文章并未将字符串列为原始类型。 但是,当我运行第二篇文章中提供的代码时,它显示String不是Primitive type。 有人可以指导我吗?

2
在VB中空检查
我要做的就是检查对象是否为空,但是不管我做什么,如果它编译了,它NullReferenceException只会抛出一个试图检查的东西!这是我所做的: If ((Not (comp.Container Is Nothing)) And (Not (comp.Container.Components Is Nothing))) Then For i As Integer = 0 To comp.Container.Components.Count() - 1 Step 1 fixUIIn(comp.Container.Components.Item(i), style) Next End If If ((Not IsDBNull(comp.Container)) And (Not IsDBNull(comp.Container.Components))) Then For i As Integer = 0 To comp.Container.Components.Count() - 1 Step 1 fixUIIn(comp.Container.Components.Item(i), style) …

11
.NET相当于旧的vb left(string,length)函数
作为非.NET程序员,我正在寻找与旧版Visual Basic函数等效的.NET left(string, length)。这很懒,因为它适用于任何长度的字符串。不出所料,left("foobar", 3) = "foo"最有帮助的是left("f", 3) = "f"。 在.NET中string.Substring(index, length),所有超出范围的东西都会抛出异常。在Java中,我总是很方便地使用Apache-Commons lang.StringUtils。在Google中,我对字符串函数的搜索并不遥远。 @Noldorin-哇,谢谢您的VB.NET扩展!我的第一次接触,尽管花了我几秒钟的时间在C#中执行相同操作: public static class Utils { public static string Left(this string str, int length) { return str.Substring(0, Math.Min(length, str.Length)); } } 注意静态类和方法以及this关键字。是的,它们的调用非常简单"foobar".Left(3)。另请参见MSDN上的C#扩展。
69 c#  .net  vb.net 

10
如何使用Vb.NET或C#终止进程?
Наэтотвопросестьответына堆栈溢出нарусском:УбитьпроцессвC# 我有一种情况,我必须检查用户是否已经打开了Microsoft Word。如果他有,那么我必须终止winword.exe进程并继续执行我的代码。 是否有任何简单的代码可以使用vb.net或c#杀死进程?
69 c#  vb.net  process  kill 

15
C#的局部类设计不好吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我想知道为什么“部分类”概念甚至存在于C#/ VB.NET中。我正在开发一个应用程序,我们正在读一本(实际上非​​常好)与我们在工作中实现的开发平台有关的书。在这本书中,作者提供了围绕平台API的大型代码库/包装器,并解释了他在教授有关平台开发的不同主题时如何开发它。 总之,长话短说-他在各处使用局部类作为伪造C#(IMO)多重继承的方法。为什么他不只是将这些类分成多个类并使用合成,这超出了我的范围。他将拥有3个“部分类”文件来构成他的基类,每个文件带有3-500行代码……并在他的API中多次执行此操作。 您认为这是合理的吗?如果是我,我将遵循SRP并创建多个类来处理所需的不同行为,然后创建一个将这些类的实例作为成员的基类(例如,composition)。为什么MS甚至将部分类放入框架中?他们删除了在C#的每个作用域级别扩展/折叠所有代码的能力(C ++允许这样做),因为显然这只是在允许不良习惯-局部类是IMO。我想我的问题是:您能否向我解释何时有合法理由使用局部类? 编辑:我知道对于Web / WinForms没有其他选择。但是除此之外呢?MS为什么不只是将一些不同的关键字用于将代码生成的类粘合在一起?还是真的有一个值得考虑的合法设计方案? 我的意思不是说这是一条咆哮/战争的话题。老实说,我希望在这里学习一些东西。什么时候应该在代码设计中使用局部类?简单的问题,无需关闭 谢谢
69 c#  .net  vb.net 

16
我发现了一个例外!怎么办?
我已经开始使用try-catch块(有点晚了,我知道!),但是现在我不知道一旦捕获到异常,该如何处理。我该怎么办? Try connection.Open() Dim sqlCmd As New SqlCommand("do some SQL", connection) Dim sqlDa As New SqlDataAdapter(sqlCmd) sqlDa.Fill(dt) Catch ex As SQLException ' Ahhhh, what to do now!!!? Finally connection.Close() End Try
69 sql  vb.net  exception 

8
仅从字符串返回数字0-9
我需要一个可以在VBScript和.NET中使用的正则表达式,该正则表达式将仅返回在字符串中找到的数字。 例如,以下任何“字符串”应仅返回1231231234 1231231234 (123)123-1234 123-123-1234 (123)123-1234 123.123.1234 1231231234 1 2 3 1 2 3 1 2 3 4 这将在电子邮件解析器中用于查找客户可能在电子邮件中提供的电话号码并进行数据库搜索。 我可能错过了类似的正则表达式,但是我确实在regexlib.com上进行了搜索。 [编辑]-在设置musicfreak的答案后添加了RegexBuddy生成的代码 VBScript代码 Dim myRegExp, ResultString Set myRegExp = New RegExp myRegExp.Global = True myRegExp.Pattern = "[^\d]" ResultString = myRegExp.Replace(SubjectString, "") VB.NET Dim ResultString As String Try Dim RegexObj As New …

6
VB.Net属性-公共获取,私有集
我想我会问...但是有没有办法让属性的Get部分可以公开使用,而又可以将其设为私有? 否则,我想我需要两个属性或一个属性和一个方法,只是认为这样做会更清洁。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.