另一个“通向X的最佳方式”,但我有一个问题,关于我应该如何去设计我正在工作的这个特定的软件。
我有一个保存WPF软件(让我们称它为引擎),它迭代一系列任务,并对每个任务调用相同的三个方法: initialize()、calculate()和C# ()。
//Simplified obviously (I use indexes vs. foreach because of other code I left out)
while(currentOperatingIndex < tasks.Count)
{
Task currentTask = tasks.ElementAt(cu
我不得不继续别人的C#项目,但我不能和他说话。
NameSpace A的主程序使用带有NameSpaces B C D的DLL...
这个主程序在运行时加载插件DLL,这些DLL必须访问NameSpaces A B C D...
但问题是DLL只能访问NameSpace A!
这些插件引用了主可执行文件。
非常奇怪的是,我从主程序得到的已经编译的exe (最后一个版本),确实在项目NameSpaces A B C D的插件动态链接库的对象浏览器中有引用,但是当我自己编译主程序exe时,动态链接库只能看到NameSpace A!
我有所有NameSpaces的所有项目的来源。
任何帮助都将受到热
我正在编写一个允许两个程序竞争的国际象棋游戏,玩家需要编写一个DLL并公开一个函数来告诉主应用程序他的玩家下一步将在哪里移动,假设函数如下所示
public static void MoveNext(out int x, out int y, out int discKind);
播放器的DLL可以使用C#或C++.编写。
在象棋游戏应用程序中,我启动一个新线程来调用玩家的DLL公开的函数,以获得他将轮流移动的位置,并启动一个计时器来防止玩家超时,如果玩家超时,我将通过以下API杀死相应的线程
thread.Abort();
thread.Join();
我有以下问题:
线程不能通过100%的
我不确定最好的方式来解释这一点,所以如果你不明白,请留下评论。
基本上,我有几个库用于处理不同程序的各种任务-通知只是一个例子。
现在,我正在构建一个新的程序,我希望它尽可能地轻量级。虽然我想包括我的通知引擎,但我不认为很多人会真正使用它的功能,所以,我宁愿不包括它的默认-只是作为一个可选的下载。
我该如何编程呢?
使用非托管Dlls和,我基本上可以将所有内容包装在一个try/catch循环中,但我不确定托管版本。
到目前为止,我能想到的最好的方法是在启动时检查DLL文件是否存在,然后设置一个bool字段或类似的字段,每次我想要触发一个通知时,我可以执行if/check bool and fi
namespace ClassLibraryB {
public class Class1 {
public void Add(int ii, int jj)
{
i = ii;
j = jj;
result = i + j;
}
public void Add2()
{
result = i + j;
}
}
}
这会被静态调用,并给我一个答案
ClassLibraryB.Class1