当我试图在C#应用程序中使用VB程序集中的属性时,我遇到了问题。VB程序集是在.NET 1.1中创建的,我尝试使用的应用程序是C#中的.NET 4.5。我回顾了VB程序集的代码,并注意到当我在C#应用程序中实例化对象时,程序集中未出现的属性是一个声明为Default Public ReadOnly Property的属性。如果删除Default关键字,则该属性将出现在C#对象中。但这里的问题是,dll在VB中创建的许多其他应用程序中使用,而在这些应用程序中,这个问题并不存在。我不可能只为我的代码更改这个dll。
下面是发生在我身上的一个例子:
来自VB程序集的代码
Default Public
为什么控制台应用程序之间的结构在C#和VB.NET之间看起来如此不同?
在C#中,我经常创建Program类的一个实例:
namespace ConsoleApplicationX {
class Program {
static void Main(string[] args) {
Program p;
p = new Program();
...
...
在一个VB.NET示例中,Main位于一个名为__ZooWork.vb的文件中,如下所示:
Module __ZooWork
我的公司为工程程序开发了一个API。它是用C++开发的,但我们为以下语言创建了包装器:
一种类似VB的专有语言
MATLAB
还有Python。
目前,文档是由一堆脚本生成的,并且它开始花费时间来100%地保存它。我想知道是否有一种方法可以一次获得doxygen/sphinx或其他程序来生成C/C++、VB和MATLAB的文档。Python部分是通过SWIG完成的。当前的输出类似于:
NameOfFunction
VB:
函数NameOfFunction(ByVal a As Long,ByRef b() As Long,ByVal c As Long)
M
在VB中,您将创建以下代码:
Sub doitnow()
dim a = 1
for a = 1 to 45
if a = 5
exit sub
end if
a = a +1
next a
end sub
在Java中,如何提前退出?我有一个带有设置和进入程序的不同方法的程序,如果你在没有完成设置的情况下进入程序,我希望停止活动并将它们发送到设置活动。
目前我有:
try {
Ls = new LoadSettings(Add.this);
gs = new GlobalSubs();
} catch (Exception e) {
VB6.0中的代码是:
Private Declare Sub suba Lib "D:\try_vb\c_dll\Dll1\Dll1\Debug\Dll1.dll" (ByRef a As Single, ByRef b As Single, ByRef c As Single)
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
a = 10#
b = 2#
Call suba(a, b, c)
Text1.Text