Tag: vb.net

.NET会停止调试运行finally块中的代码吗?

好吧,我已经阅读(并了解到)finally块并不总是执行其代码(甚至除了拔插头之外)。 仅供参考。有关更多信息,请参阅try catch finally问题 但是,我没有找到: 当我停止调试器时,我的finally块是否被执行? 谢谢!

究竟什么是“文件编号”?

我正在使用一些早先从VB6转换过来的C#代码,它会执行大量的文件IO。 到处都是我看到的: fn = VBNET.FileSystem.FreeFile(); …接下来是VBNET.FileSystem.FileOpen() ,一些文件IO,然后是VBNET.FileSystem.FileClose() 。 对FreeFile()的调用会生成一个“文件号”,这是打开文件所必需的。 但是什么是文件编号,如何在完成后将其释放回系统? http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.freefile.aspx上的文档似乎没有说,但它确实说如果“超过255则会抛出exception文件正在使用中“,这对我来说意味着当我完成它们时释放它们是个好主意。 注意 – 我知道有更好的文件IO库可供使用,但这是我们一直坚持的,直到我们有资源重写这些东西,所以我只是想了解它。

获取程序集而不实例化它们

我试图使用AppDomain.CurrentDomain.GetAssemblies()在CurrentDomain获取所有程序集以将其FullName写入DropDownList ,但是如果我不实例化它们,则在CurrentDomain GetAssemblies()返回的数组中看不到它们。 它们都作为参考和解决方案的Reference文件夹添加。 只有我能从GetAssemblies()获取它们才是我第一次实例化它们。 如何以简单和更通用的方式克服这个问题,而不是每次添加新的程序集等时实例化它们。 由于公司政策,我必须模糊图像的某些部分: 所有组件都在Reference文件夹中引用:

如何在具有相同目的的同一解决方案中为C#和VB.NET项目提供有意义的名称?

我有两个包含扩展方法的项目。 一个项目使用C#实现,另一个项目使用VB.NET实现,因为我可以在VB.NET中执行一些我无法在C#中执行的操作,并且我希望在扩展方法中利用这些function。 如何区分项目以表达其含义,同时区分它们是否以不同语言实现? 对于C#精英主义者: VB.NET支持C#不支持的function之一: C#扩展方法是否允许通过引用传递参数? 仅供参考:这对参考类型不起作用,这是我感兴趣的。 public static void LoadFromXml(this T targetObject, string xml) { targetObject = _Serializer.DeserializeFromXML(xml); }

什么是.net框架参考assembly体Facades文件夹用于?

我注意到每个.NETFramework Reference Assemblies文件夹中都有一个Facades文件夹。 从v4.5开始。 这些文件夹中的所有程序集都非常小,只包含元数据。 例子: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\Facades C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\Facades 我很好奇,想知道这些用途是什么? 谢谢!

VB.NET下的后期绑定魔术转换为C#

我应该将一些代码从VB转换为C#。 给出以下几行VB工作(我认为只是因为选项未设置为严格): Dim someProp As SomeType Try someProp = CType(SomeInstance, Object).SomeProp ‘ … 由于后期绑定,这个代码在VB下是可能的。 当然,以下内容不适用于C#: SomeType someProp; try { someProp = ((object)SomeInstance).SomeProp; // … 我怎么能在C#下制定类似的东西? 任何tipps sl3dg3的thx

数据表VS数据视图

Hy,我真的不明白datatable和dataview之间的区别,因为我们可以这样做: Dim dtb As New DataTable() Dim dtv As DataView = dtb.DefaultView 提前致谢 。

在VB中覆盖事件

有没有办法在VB中翻译这段代码? 大部分都很简单,但我无法想出一种覆盖事件处理程序的方法。 public class MTObservableCollection : ObservableCollection { public MTObservableCollection() { _DispatcherPriority = DispatcherPriority.DataBind; } public MTObservableCollection(DispatcherPriority dispatcherPriority) { _DispatcherPriority = dispatcherPriority; } private DispatcherPriority _DispatcherPriority; public override event NotifyCollectionChangedEventHandler CollectionChanged; protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) { var eh = CollectionChanged; if (eh != null) { Dispatcher dispatcher = (from NotifyCollectionChangedEventHandler nh in eh.GetInvocationList() let […]

错误:表达式不生成值

我试图将以下C#代码转换为VB.NET,并在编译代码时得到“Expression不会产生值”错误 C#代码 return Fluently.Configure().Mappings(m => m.FluentMappings.AddFromAssemblyOf()) .Database(SQLiteConfiguration.Standard.InMemory().ShowSql()) .ExposeConfiguration(x => new SchemaExport(x).Execute(false, true, false)) .BuildSessionFactory(); VB.NET代码 Return Fluently.Configure() _ .Mappings(Function(m) m.FluentMappings.AddFromAssemblyOf(Of SubscriptionMap)()) _ .Database(SQLiteConfiguration.Standard.InMemory().ShowSql()) _ .ExposeConfiguration(Function(x) New SchemaExport(x).Execute(False, True, False)) _ .BuildSessionFactory() 错误发生在VB.NET代码的第二行,而C#代码编译没有问题。 转换有什么问题? 谢谢

在Excel VB.Net中分页

我正在使用Office Interop,并且无法在Excel中插入分页符。 我的代码在horizontal page break vertical pagebreak正常工作,但我还需要设置vertical pagebreak 。 可以在下面修改我的代码,在第一column I上进行vertical page break吗? 此代码正在制作正确的horizontal pagebreaks但仍然是150页长,因为未正确设置垂直分页符。 Dim r As Excel.Range = CType(xlWorkSheet.Cells(27, 1), Excel.Range) r.PageBreak = 1