标签: implementation

当两个方法具有相同名称但参数不同时,如何在VB.Net中实现接口

我是一个C#程序员,但我必须使用一些VB.Net代码,我遇到了一种情况,我在一个具有相同名称但不同方法参数的接口上有两个方法.当我尝试在类中实现此接口时,VB.Net要求在方法签名后明确声明"Implements MethodName".由于两个方法名称相同,这使编译器感到困惑.有办法解决这类问题吗?我怀疑这一定是常见的事.有什么想法吗?

注意事项更多的是程序员没有验证有问题的界面没有从他下面改变.

vb.net implementation interface

6
推荐指数
1
解决办法
3万
查看次数

如何在Python中实现数据库样式表

我正在实现一个类似于典型数据库表的类:

  • 已命名列和未命名的行
  • 有一个主键,我可以通过它来引用行
  • 支持按主键和列标题检索和分配
  • 可以要求为任何列添加唯一或非唯一索引,从而允许快速检索在该列中具有给定值的行(或行集)
  • 删除行很快并实现为"软删除":行是物理保留的,但标记为删除,并且不会显示在任何后续检索操作中
  • 添加一个列很快
  • 很少添加行
  • 很少删除列

我决定直接实现该类,而不是使用sqlite的包装器.

什么是一个好的数据结构使用?


举个例子,我想到的一种方法是字典.它的键是表的主键列中的值; 它的值是以下列方式之一实现的行:

  1. 作为清单.列号被映射到列标题中(使用一个方向的列表和另一个方向的映射).这里,检索操作首先将列标题转换为列号,然后在列表中找到相应的元素.

  2. 作为词典.列标题是此字典的键.

不确定两者的优点/缺点.


我想编写自己的代码的原因是:

  • 我需要跟踪行删除.也就是说,在任何时候我都希望能够报告哪些行被删除以及哪些"原因"("原因"被传递给我的删除方法).
  • 我需要在索引期间进行一些报告(例如,在构建非唯一索引时,我想检查某些条件并报告它们是否被违反)

python performance implementation data-structures

6
推荐指数
1
解决办法
1024
查看次数

关于Paxos和Paxos Made Simple的文章的澄清

我读了一篇名为"Paxos简单"的论文,但仍有一些混淆:

  1. "paxos算法的实例"是指什么?每个实例都表明外部客户端有输入/命令吗?并且每个实例的paxos算法将并行执行???

  2. 如果只有一个能够发出提案的"杰出"提议者,那么paxos算法与2阶段提交算法的区别是什么?

  3. 我们在哪里可以在实际项目中应用paxos算法?

这篇论文似乎给出了更清晰的描述:http: //research.microsoft.com/pubs/64634/web-dsn-submission.pdf

还有什么想法?

implementation paxos

6
推荐指数
1
解决办法
5118
查看次数

查询简单的C++线程池实现

Stackoverflow对我来说是一个巨大的帮助,我会回馈社区.我一直在使用TinyThread ++ 网站 C++可移植线程库实现一个简单的线程池,使用我从Stackoverflow中学到的东西.我是线程编程的新手,所以对互斥体等不太熟悉.我在提交代码后问了最好的问题(在Linux下运行得很好):

// ThreadPool.h

class ThreadPool
{
 public:

 ThreadPool();
~ThreadPool();

// Creates a pool of threads and gets them ready to be used
void CreateThreads(int numOfThreads);

// Assigns a job to a thread in the pool, but doesn't start the job
// Each SubmitJob call will use up one thread of the pool.
// This operation can only be undone by calling StartJobs and
// then waiting for the jobs to complete. On completion,
// new jobs may …
Run Code Online (Sandbox Code Playgroud)

c++ implementation threadpool

6
推荐指数
1
解决办法
3355
查看次数

零抑制 BDD 的交集——使用 ZDD 实现多项式

我正在尝试使用 ZDD 实现单变量多项式,如另一个问题的评论中所建议的

我读过 S. Minato 的论文(你可以在这里下载)),但我不明白如何在这些ZDD上实现操作。

论文中的想法是多项式可以用x^(2^i)变量来表示。例如,x^5 + x^3 + x可以重写为x^4x^1 + x^2x^1 + x^1,如果您为每个x^(2^i)变量创建节点并与相乘的“1-边”变量和相加的“0-边”变量连接,您可以轻松获得表示该多项式的图形. ZDD 是这种图形,它在图形上强制执行某些条件(有关更多信息,请阅读 Minato 的文章和维基百科关于 BDD的页面

可以使用 2 的幂之和类似地表示系数(例如,5 = 2^2 + 2^0每个2^i都是变量并且节点以相同的方式与 1 和 0 边连接)。

现在,我的问题是添加两个 ZDD 的算法。算法看起来很简单:

如果 F 和 G (ZDDs) 没有共同的组合,只需将它们合并即可完成加法 (F + G)。当它们包含一些常见的组合时,我们计算以下公式:(F + G) = S + (Cx2),其中 C = F ? G, S = (FUG) \ C …

implementation polynomial-math binary-decision-diagram

6
推荐指数
1
解决办法
805
查看次数

是否有调查问卷有助于提前做出实施决定?

我想知道在根据"需求文档"做出实施决策之前是否有一个众所周知的调查问卷可供您参考?

基本上是需要是/否答案的问题列表,以便您可以或多或少地预见您的实施路线图.

architecture implementation

6
推荐指数
1
解决办法
137
查看次数

Trove Library Queue实现

我在java项目中使用了trove 3.0.3库.gnu.trove.queue(TByteQueue,TDoubleQueue ...)中的所有类都是接口.我在哪里可以找到Queue类的实现?

java queue implementation trove4j

6
推荐指数
1
解决办法
556
查看次数

“Unicode 换行算法” (UAX#14) 的实现

我一直在四处寻找Unicode行算法 (UAX#14)的最新实现,以根据我的需要对其进行移植。

我发现了一个旧的但看似规范 的算法示例实现,其中使用了“基于对表的实现”。该实现引用了从 Unicode 10.0 开始删除的旧文档的相应部分。所以,

  • 为什么删除了“§7:基于对表的实现”,有哪些替代方案?

  • 该算法的最新版本是否有任何公开和完整的实现,或者至少是“基于对表的实现”仍然存在的算法的最后一个版本(在Unicode 9.0 中)?

unicode implementation

6
推荐指数
1
解决办法
223
查看次数

如何在 JavaScript 中的异步函数上实现 memoize 方法?

我一直在尝试用 JavaScript 编写 memoize 函数的实现。我在一次面试中被问到这个问题,从那以后我就一直在想这个问题。我真的很感激一些帮助。

给定一个我们正在其中进行 API 调用的函数 -

function getSomeData(foo, callback) {
  var uri = 'http://localhost?foo=' + foo ;
  someAPIUri(uri, function onResponse(error, response, body) {
    callback(error, body);
  });
}
Run Code Online (Sandbox Code Playgroud)

使用 setTimeout 来实现异步功能,而不是使用 API -

function getSomeData(foo, callback) {
  setTimeout(()=> {
    console.log('async request');
    callback(2 * foo);
  }, 1000);
}
Run Code Online (Sandbox Code Playgroud)

如果我们进行如下所示的调用两次,则意味着进行了两次异步调用,因此我们需要创建一个 memoize 函数,该函数缓存某些输入的响应,并在任何后续调用中响应该响应。

getSomeData(1, (response) => {
  console.log('getSomeData', response);
})
Run Code Online (Sandbox Code Playgroud)

我写了这个函数 -

function memoize(fn) {
  const cache = {};

  return async function() {
    const args = JSON.stringify(arguments);

    console.log('arguments passed to memoize …
Run Code Online (Sandbox Code Playgroud)

javascript implementation memoization

6
推荐指数
1
解决办法
4542
查看次数

有没有办法在 VS Code 中查看反编译的 C# 代码?

有没有办法在 VS Code 中查看反编译的 C# 代码?

每当我进入反编译的实现时,我只看到方法的接口,但看不到实现。我听说有些人声称 VS Code 也可以显示反编译的实现,我想知道这是否属实以及如何在 VS Code 中启用该功能。

c# implementation decompiling visual-studio-code

6
推荐指数
1
解决办法
8994
查看次数