标签: implementation

何时使用“using [alias = ]class_or_namespace;” 在 c# 中?

我在一篇文章中看到了以下命名空间实现,我真的不明白他们为什么这样做?

using sysConfig =System.Configuration ;

string connectionString = sysConfig.ConfigurationManager.
                         ConnectionStrings["connectionString"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)

我知道它可以很容易地实现这样,

string connectionString = System.Configuration.ConfigurationManager.
                         ConnectionStrings["connectionString"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)

任何建议何时使用第一种类型......

c# implementation namespaces

2
推荐指数
1
解决办法
191
查看次数

如何实现 IDataReader?

我有一个像这样的 XML:

<resultset>
    <datarow>
        <datacol>Row 1 - Col 1</datacol>
        <datacol>Row 1 - Col 2</datacol>
        <datacol>Row 1 - Col 3</datacol>
        ...
    </datarow>
    ...
</resultset>
...
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何使用此 XML 实现 IDataReader 接口?我迷路了...

我已经开发了这个:

public sealed class SybaseDataReader : IDataReader
{
    private DataSet _dataSet = new DataSet();

    #region IDataReader methods implementation
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我在好路吗?

感谢您的建设性和解释清楚的帖子。

c# ado.net implementation

2
推荐指数
1
解决办法
5821
查看次数

2
推荐指数
1
解决办法
4971
查看次数

有人熟悉“实现/内部标头”(*.ih)吗?

在 FB Brokken(The C++ Annotations 的作者)的半年 C++ 课程中,我们学习了所谓的实现头文件的使用。我知道这是弗兰克的约定,但我实际上从未在其他任何地方见过它。因此,我将解释这个概念,我很好奇其他人对此有何看法。

这个想法是,您只需将#include类成员的实现(假设您没有编写类内定义)的实现所需的所有指令放在一个文件中,.ih 实现标头和#include每个源中的此文件文件代替。替代方案是
1)#include类头中的所有内容或
2)#include每个源文件中单独的所有头。

这两种替代方案的缺点是显而易见的:
1a)#include在添加需要一些额外#include' 的任何内容后,您必须重新编译所有包含此标头的源。
1b) 你的头文件,应该是你的类的一个清晰的界面,被一大堆#include指令污染了,用户不知道它们是用来做什么的,他也不关心。2a) 您必须#include在每个源文件中一次又一次地使用相同的标题。
2b) 你的实现被所有这些污染了#include,让它看起来有点乱。

只是要清楚:

/* someclass.h(pp) */

#ifndef SOME_CLASS_H
#define SOME_CLASS_H

class SomeClass
{
    //some private data members
    public:
        SomeClass();
        void sayHi() const;
        // some more member functions
    private:
        // some private member functions
};

#endif

/* someclass.ih */

#include "someclass.h"
#include <iostream>
#include <vector> …
Run Code Online (Sandbox Code Playgroud)

c++ implementation header internal include

2
推荐指数
1
解决办法
3092
查看次数

当traceroute 通过 UDP 运行时,为什么在最后一跳期望“目标无法到达”而不是“回显回复”?

摘自 Wikipedia 页面的Traceroute实现部分:

。。。直到到达目的地,如果正在使用 UDP 数据包,则返回 ICMP Destination Unreachable 消息;如果正在使用 ICMP Echo 消息,则返回 ICMP Echo Reply 消息。

它说在最后一跳traceroute 期待 ICMP“目标无法到达”,而我希望它使用 ICMP“回显回复”。

我查看了该页面的历史记录,它被一个名叫“Guy Harris”的人更改了。他说:

。。。如果您使用 UDP 数据包(如 Traceroute 默认情况下所做的那样),最后一跳将返回 ICMP Destination Unreachable(除非您不幸将 UDP 数据包发送到具有侦听器的端口),而不是 ICMP Echo Reply。

有人可以解释一下吗?

implementation wikipedia traceroute icmp icmpv6

2
推荐指数
1
解决办法
5920
查看次数

如何知道用于实现标准代码段的确切数据结构和算法,例如在 C++ STL 中?

我想知道堆栈是如何在 C++ STL 中实现的,使用数组或链表,或者更复杂的东西。另外我怎么知道,任何代码的任何标准片段是如何实现的?我已经尝试使用谷歌搜索和编写自定义代码来获得一个想法,但它非常耗时,有时 3rd 方网站不会透露任何有用的信息。

c++ algorithm implementation stl

2
推荐指数
1
解决办法
85
查看次数

如果从模块导出的项目暴露了内部代码,如何组织内部代码?

我正在开发一个 Rust 模块,它有一个小的外部接口,但它的内部实现又大又复杂。

是否有一种明智的方法可以避免拥有包含模块所有代码的巨大文件,同时仍然向外部模块使用者公开一个小接口?

AFAIK,Rust 不允许您对同一模块使用多个文件,例如 Go 允许使用包目录。Rust 模块定义在一个目录中并不重要,它仍然需要一个文件。

这样,为了拆分代码,您必须使用子模块来表示您想要拆分的子类型或实现细节。我知道对于编译的代码来说应该没什么影响,模块组织的所有开销都被删除了。

但是存在一个设计问题,如果我将内容拆分为模块,那么这些内容将需要导出内容,以便我可以从其他模块中使用它们......但是这些“导出的内部组件”也可以由外部消费者使用,对吧?有没有办法避免暴露这些内部接口?

implementation module interface rust

2
推荐指数
1
解决办法
570
查看次数

C中的malloc代码

我有一个代码块似乎是背后的代码malloc.但是当我浏览代码时,我感觉部分代码丢失了.有没有人知道是否缺少一部分功能?是否malloc总是将相邻的块组合在一起?

int heap[10000];
void* malloc(int size) {
int sz = (size + 3) / 4;
int chunk = 0;
if(heap[chunk] > sz) {
    int my_size = heap[chunk];
    if (my_size < 0) {
      my_size = -my_size
    }
    chunk = chunk + my_size + 2;
    if (chunk == heap_size) { 
      return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

c malloc implementation heap-memory

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

为什么MD5碰撞失败?

这两个数据块来自此站点,但未能产生冲突:

var_dump(md5('d131dd02c5e6eec4693d9a0698aff95c2fcab58712467eab4004583eb8fb7f8955ad340609f4b30283e488832571415a085125e8f7cdc99fd91dbdf280373c5bd8823e3156348f5bae6dacd436c919c6dd53e2b487da03fd02396306d248cda0e99f33420f577ee8ce54b67080a80d1ec69821bcb6a8839396f9652b6ff72a70') == md5('d131dd02c5e6eec4693d9a0698aff95c2fcab50712467eab4004583eb8fb7f8955ad340609f4b30283e4888325f1415a085125e8f7cdc99fd91dbd7280373c5bd8823e3156348f5bae6dacd436c919c6dd53e23487da03fd02396306d248cda0e99f33420f577ee8ce54b67080280d1ec69821bcb6a8839396f965ab6ff72a70'));
Run Code Online (Sandbox Code Playgroud)

哪个输出a bool(false),我做错了什么?

编辑 最佳演示?

php implementation md5 collision

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

实现更多字段wordpress插件

我发现了这个自定义字段插件 - http://wordpress.org/extend/plugins/more-fields/

现在我只想知道如何实现更多字段,我已经安装了插件,创建了字段,并在字段内容中添加了帖子,但前端没有显示任何内容......

我一直在搜索,但无法找到有关如何执行此操作的任何文档.

如何让字段显示在前端?

wordpress implementation wordpress-plugin custom-fields

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