问题标签 [explicit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3182 浏览

sql - 如何指定可以从 linq 到 sql 查询返回哪些列

我试图只从 linq 到 sql 查询返回几列,但如果我这样做,它会引发异常:

不允许在查询中显式构造实体类型“InVision.Data.Employee”

这是代码:

如果我返回所有内容,那么它将引发有关循环引用的异常,因为它需要被序列化才能在 javascript 中使用,所以我真的需要限制列...感谢您可以给我解决这个问题的任何提示。

0 投票
1 回答
7763 浏览

c++ - 多参数构造函数上的显式关键字?

我最近遇到了一些看起来很奇怪的类,它有三个构造函数:

这对我来说真的没有意义——我认为显式关键字是为了保护编译器选择的结构不受外来类型的影响。

这是允许的吗?如果是,那是什么意思?

0 投票
8 回答
50041 浏览

c# - 显式和隐式 c#

我是 C# 新手,正在学习新单词。在编写 c# 时,我发现很难理解这两个词的含义。我在字典中查找了含义,这就是我得到的:

隐式

“隐含的东西以间接的方式表达。”

“如果某种品质或元素隐含在某事物中,它就包含在其中或被它表现出来;”

显式

“明确而公开地表达或显示的东西,没有任何隐藏任何东西的企图”

“如果你对某事直言不讳,你就会非常公开和清楚地谈论它。”

我想用 C# 来理解它。

谢谢你的帮助。

干杯


附加信息:

这是我现在正在阅读的书中的一部分句子,其中包含“隐式”一词

“这意味着里面的 Area 和 OccupantsAreaPerPerson( ) 隐式引用了在调用的对象中找到的那些变量的副本AreaPerPerson( )

我完全不明白这句话在这里想说什么。

0 投票
2 回答
14908 浏览

c# - 非对象字段错误未正确对齐或重叠

我正在尝试创建以下结构:

我收到以下错误:

无法从程序集中加载类型“消息”,因为它包含偏移量 4 处的对象字段,该对象字段未正确对齐或被非对象字段重叠。

有谁知道为什么这会导致错误?

注意:我不能使用 Pack,因为我正在使用紧凑的框架。谢谢。

0 投票
3 回答
34060 浏览

c++ - 显式加载 DLL

我正在尝试与 DLL 显式链接。除了 DLL 文件本身和一些关于类及其成员函数的文档之外,没有其他资源可用。

从文档中,每个类都有自己的

  1. 成员 typedef
    示例:typedef std::map<std::string,std::string> Server::KeyValueMap, typedef std::vector<std::string> Server::String Array
  2. 成员枚举
    示例:enum Server::Role {NONE,HIGH,LOW}
  3. 成员函数
    示例:void Server::connect(const StringArray,const KeyValueMap), void Server::disconnect()

实现来自谷歌搜索的代码,我设法加载 dll 可以调用断开功能..

目录.h

我从depends.exe得到了上面的函数名。这就是 C++ 中所谓的修饰/损坏函数名称吗?

主文件

我如何调用(例如)具有在 dll 本身中声明的参数数据类型 的连接成员函数?

编辑

更多信息:

  • 该 DLL 附带一个使用 Java 的示例实现。Java 示例包含使用 SWIG 生成的 Java 包装器和源代码。
  • 该文档列出了所有类、它们的成员函数以及它们的数据类型。根据文档,该列表是从 C++ 源代码生成的。(??)
  • 没有提供其他信息(没有关于使用什么编译器生成 DLL 的信息)

我的同事正在根据给出的 Java 示例使用 Java 实现接口,而我被要求使用 C++ 实现。DLL 来自第三方公司。

我会问他们关于编译器的问题。我应该从他们那里得到任何其他信息吗?

我快速阅读了有关 JNI 的内容,但我不明白在这种情况下它是如何实现的。

更新

我有点困惑……(好吧,好吧……很困惑)

  1. 只有当我想使用它们时,我才分别调用(GetProcAddress)每个公共成员函数吗?
  2. 我是否创建了一个模拟 dll 中的类的虚拟类。然后在类定义中,我从 DLL 调用等效函数?(我在这里有意义吗?) fnieto,这是您在帖子末尾向我展示的内容吗?
  3. 是否可以从 DLL 实例化整个类?

我试图使用我的第一篇文章中描述的连接功能。从 Depends.exe DLL 输出中,

  • std::map // KeyValueMap 有以下成员函数:del、empty、get、has_1key、set
  • std::vector // StringArray 有以下成员函数:add、capacity、clear、get、isEMPTY、reserve、set、size

这与我的编译器(VS 2005)中的 map 和 vector 的成员函数不同......

任何想法?还是我在这里得到错误的图片...

0 投票
1 回答
4725 浏览

dll - 为什么我们已经有了实际的 .dll 实现,还需要一个 .lib 存根文件?

我想知道为什么链接器不能仅仅通过查阅获得实际实现代码的实际 .dll 文件中的信息来完成他们的工作?我的意思是为什么链接器仍然需要 .lib 文件来进行隐式链接?

对于这种链接,导出和相对地址表还不够吗?

无论如何,有没有人可以只使用 .dll 而不使用 .lib 存根/代理文件来进行隐式链接?

我认为 Windows 可执行加载器只会代表程序执行 LoadLibrary/LoadLibraryEx 调用(因此称为隐式链接),这是与显式链接的主要区别。如果这是真的,那么在没有 .lib 的情况下显式执行它应该表明它在没有它的情况下是可行的,对吧?还是我只是在说无意义?

0 投票
6 回答
5537 浏览

python - 您对文件描述符使用什么变量名?

一个非常愚蠢的琐碎问题。典型的例子是f = open('filename'),但是

  • f不是很具有描述性。一段时间不看代码后,您可能会忘记它是指“文件”还是“函数f(x)”或“傅立叶变换结果”或其他什么。EIBTI。
  • 在 Python 中,file已被函数占用。

你还用什么?

0 投票
3 回答
581 浏览

c# - 显式转换问题

问题:在测试中出现以下错误。铸造的解决方案是什么?

无法将类型“AContainer”隐式转换为“IContainer”。存在显式转换(您是否缺少演员表?)

0 投票
2 回答
16434 浏览

wpf - Binding UpdateSourceTrigger=Explicit,在程序启动时更新源

我有以下代码:

我只想在文本框中按下“Enter”键时更新源。这工作正常。但是,绑定会在程序启动时更新源。我怎样才能避免这种情况?我错过了什么吗?

0 投票
4 回答
1311 浏览

c# - 从隐式转换中抛出异常是否有任何借口?

来自MSDN

通过消除不必要的强制转换,隐式转换可以提高源代码的可读性。然而,因为隐式转换可以在没有程序员指定的情况下发生,所以必须注意防止令人不快的意外。一般来说,隐式转换运算符不应该抛出异常,也不应该丢失信息,以便在程序员不知情的情况下安全地使用它们。如果转换运算符不能满足这些条件,则应将其标记为显式。

虽然我不反对任何特定的观点,并且我同意这一切都非常好,但是否有足够的理由来保证打破关于隐式转换不引发异常的部分?

我面前的特殊情况是:

  1. 我有一个函数,它返回一个自定义集合对象(我们称之为FooCollection)。
  2. 该函数可以返回单个项目的集合,并且可以从源代码中确定是否会发生这种情况。(我的意思是函数调用,而不是函数本身)
  3. 如果确实发生了,那么用户有 99.9% 的可能性想要该单个项目,而不是包含单个项目的集合。

现在,我正在考虑是否包含来自FooCollection=>的隐式转换Foo以隐藏这个小的实现细节,但这种转换只有在集合中有单个项目时才有效。

Exception在这种情况下可以抛出一个吗?或者我应该使用显式强制转换吗?关于如何处理这个问题的任何其他想法(不,由于实现细节我不能只使用两个函数)?

编辑:我觉得值得注意的是FooCollection它没有实现任何接口或实际上扩展Collection名称可能暗示,因此基于 LINQ 的答案是无用的。此外,虽然集合确实实现了数字索引,但它并不是处理集合的最直观方式,因为它主要依赖于命名索引。