代替
if (somecondition == 1)
{
int result = new myDelegate(MyClass.myMethod1);
}
else
{
int result = new myDelegate(MyClass.myMethod2);
}
Run Code Online (Sandbox Code Playgroud)
有可能做这样的事情
int result = new myDelegate("MyClass.myMethod" + i.ToString()); }
Run Code Online (Sandbox Code Playgroud) 在回答这个问题之前,要明白我并不是在问如何创建自己的编程语言,我想知道如何使用vb.net代码为vb.net本身的语言创建编译器.基本上,用户输入代码,他们获得.exe.通过NO MEANS我想写自己的语言,因为这里似乎有其他与编译器相关的问题.我也不想使用vb.net编译器本身,也不想复制IDE.
我想要做的事情的确切目的是很难解释,但我需要的只是在编写编译器(如果可能的话,从头开始)的正确方向上轻推,它可以简单地获取输入并创建.exe.我之前(我自己的程序)打开.exe文件作为纯文本,看看我是否可以从我认为是人类可读的文本中得到一些含义,但我看到随机的ascii显然非常失望,尽管可以理解为什么这就是我发现的全部.
我知道.exe文件只是代码行,由它所在的计算机解析,但我的问题实际上归结为:什么代码构成.exe?如果我愿意,我怎么能在纯文本编辑器中创建一个呢?(不,我不想这样做,但如果我理解这个过程,我的目标将更容易实现.)是什么使可执行文件成为可执行文件?代码的逻辑在哪里适合?
这是一个编程问题而不是计算机问题,这就是为什么我没有在SuperUser上发布它.我知道有关System.IO命名空间的大量信息,所以我知道如何创建一个文件并写入它,我根本不知道我将在这个文件中放置什么以使其作为可执行文件工作.
如果这个问题"混乱","愚蠢"或"明显",我很抱歉,但我无法在任何地方找到有关可执行文件的实际内容的任何信息.
编辑:这里的第二个链接,虽然看起来不错,但完全失败了.我不会浪费时间打击钥匙并记录结果."使用"Alt"和3位数组合创建键盘上没有出现但符号在程序中所需的符号." (第4步)我怎么知道我需要什么符号?
非常感谢你的帮助,如果这个问题是一个"不好"或"坏"的话,我很抱歉.
简单地总结一下:我想在vb.net中创建一个程序,它可以将特定语言的代码编译为单个可执行文件.有哪些方法可以让我这样做,如果没有,我怎么能从头开始写自己的?
假设我有这个课程:
class Foo {
public:
void member(std::string s);
void member(int64_t &n);
};
Run Code Online (Sandbox Code Playgroud)
现在我想做点什么
int64_t value = 5;
Foo f;
f.member(value);
Run Code Online (Sandbox Code Playgroud)
问题是编译器(至少是GCC)感到困惑并且认为我正在尝试使用char*构造函数使用字符串调用成员:
invalid conversion from 'int64_t' to 'const char*
如何在不更改方法签名的情况下调用我想要的实际成员函数?模板是唯一的解决方案吗?我在没有任何帮助的情况下尝试过施放(这应该没关系,因为类型已经明确无误).
对不起 - 发现了错误.
宣言是:
class Foo {
public:
void member(std::string s);
void member(int64_t &n);
};
Run Code Online (Sandbox Code Playgroud)
删除by-ref解决了它.
我创建了一个list<T>包含有这个属性的对象的集合:X,Y,Z
我想找出集合中哪个对象最大 Z
我试图使用该Max()功能,但我不明白它是如何使用的...
如何更改Eclipse Update Manager的"读取超时"值?
我的互联网连接速度慢,我无法安装任何插件,因为Eclipse的Update Manager会抛出异常:
Transfer Exception
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:127)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:140)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Run Code Online (Sandbox Code Playgroud) 是否可以通过.NET中的属性分析各个方法?
我目前正在尝试在大量遗留应用程序中找到一些瓶颈,这些应用程序大量使用静态方法.目前,集成框架根本不是一种选择.由于大多数调用都使用静态方法,因此接口和依赖注入不可用.攻击代码以记录诊断也不是一个可行的解决方案.
我知道市场上有一些分析工具,但它们目前不在预算范围内.理想情况下,我将能够创建自己的自定义属性,该属性将记录有关方法输入和方法退出的一些基本信息.我从来没有真正使用自定义属性,所以任何洞察甚至是否可能这将是值得赞赏的.
如果可能的话,我想通过配置文件启用分析.这将通过单元和集成测试支持分析.
是否有宝石为终端输出执行背景和前景文本着色?
我记得,在编写Pascal时,我们都习惯使用textcolor(...)程序来使我们的小型教育程序看起来更漂亮和表现.
Ruby中有类似的东西吗?
如何在不写两次的情况下创建两个具有相同结构的临时表?
像这样的东西:
DECLARE @TEST_TABLE1, @TEST_TABLE2 TABLE
(
FIELD1 INT,
FIELD2 INT
)
Run Code Online (Sandbox Code Playgroud)
和不:
DECLARE @TEST_TABLE1 TABLE
(
FIELD1 INT,
FIELD2 INT
)
DECLARE @TEST_TABLE2 TABLE
(
FIELD1 INT,
FIELD2 INT
)
Run Code Online (Sandbox Code Playgroud) 我正在使用教育数据集:426名学生对8个多项选择题的答案(1=正确,0=不正确),以及指示哪位教师(1, 2, or 3)教授他们课程的专栏.
就目前而言,我的数据非常漂亮data.df,如下所示:
str(data.df)
'data.frame': 426 obs. of 9 variables:
$ ques01: int 1 1 1 1 1 1 0 0 0 1 ...
$ ques02: int 0 0 1 1 1 1 1 1 1 1 ...
$ ques03: int 0 0 1 1 0 0 1 1 0 1 ...
$ ques04: int 1 0 1 1 1 1 1 1 1 1 ...
$ ques05: int …Run Code Online (Sandbox Code Playgroud)