问题标签 [reference-type]

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 投票
1 回答
25225 浏览

c# - AutoMapper 可以在值类型(枚举)和引用类型之间进行映射吗?(细绳)

奇怪的问题 - 我正在尝试使用 AutoMapper在enumstring之间进行映射:

不要担心.ToString()我正在使用,实际上我在枚举本身(.ToDescription())上使用了扩展方法,但为了这个问题,我保持简单。

当我只是设置映射时,上面会引发对象引用错误。

考虑到这个工作:

我不明白为什么我的 AutoMapper 配置没有。

AutoMapper 可以处理这个,我做错了什么,或者这是 AutoMapper 的一个错误?

有任何想法吗?

编辑

我还尝试使用自定义解析器:

同一行上的相同错误。:(

0 投票
3 回答
1363 浏览

c# - 将对象命名空间和名称转换为对象

我需要调用SetSettings()并使用 中的 3 个元素splitSettings,设置EncodeAudioFalse. 我该怎么做呢?将对象的属性转换为字符串中的姓名。我意识到我可以用我所有设置的 switch 语句来做,但必须有一种更动态的方式来做这件事。

是的,我有一个设置实例

说:

我想做的是通过使用 splitSettings 的元素将 EncodeAudo 动态设置为 False

感谢 TBohnen.jnr 的帮助,我得到了这个答案:

0 投票
5 回答
11171 浏览

java - 值为 null 的引用类型的类型?

根据: http: //java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html
4.5.2 引用类型的变量
引用类型可以持有一个null引用。

当赋值为 时,是否可以检索引用类型的声明类型null

具体来说,在使用反射的方法中,我希望该方法是 null 安全的并作用于原始声明的类型(尽管我知道以下代码片段不起作用),例如:

如有必要,我不会反对使用泛型来拥有类型T而不是Object声明的参数类型。

编辑:我知道这.getClass()适用于实例,而不是声明的类型。我想知道是否可以询问它声明的类型的引用。由于类层次结构是静态的,因此获取该信息应该没有问题。

Edit2:在这里,情况很清楚:Java是“按引用传递”还是“按值传递”?
Java 只是按值传递,所以即使使用了引用类型,它也总是像传递值(对象实例)一样被处理(即使内部只传递一个对象指针)。这意味着Java实际上并没有一个知道它的类型的引用类型(至少就程序员而言),它都在值实例中。
因此不可能确定任何null值的类型。

0 投票
2 回答
24133 浏览

c# - 如何制作引用类型的副本

可能重复:
在 C# 中克隆对象

我有一个具有属性的类,其中一些是引用类型(其他类的实例)本身(CookieContainer)。

我想要这个类的精确副本,因此对以前版本的任何更改都不会影响这个新实例。

这类问题有通用解决方案还是我应该手动解决?

0 投票
7 回答
3024 浏览

c# - 值类型和引用类型问题

嗨,我正在尝试对两个对象进行简单交换。我的代码是

由于对象是引用类型,它的引用应该传递给方法并且应该交换。为什么没有发生?

0 投票
3 回答
16697 浏览

python - Python 将什么视为引用类型?

我假设 Python 中的序列类型是值类型。事实证明它们是引用类型(这意味着变量的值在分配给新变量时不会被复制,而是被引用)。所以现在我想知道,Python 中的值类型是什么?也就是说,我可以将 Python 中的哪些类型分配给新变量而不用担心变量被引用?

0 投票
4 回答
2060 浏览

c# - 指定接口只能通过引用类型实现 C#

如果我在 C# 中声明一个接口,有什么方法可以显式声明实现该接口的任何类型都是引用类型?

我想这样做的原因是,无论我将接口用作类型参数,我都不必指定实现类型也必须是引用类型。

我想要完成的示例:

由于 to 的参数必须SomeClass.AnotherRoutine()是引用类型,所以在这里我会在调用该方法时遇到编译器错误,这表明我强制T成为引用类型(where T : IInterface, class在 的声明中UsingType)。有什么方法可以在接口级别执行此操作吗?

不起作用(显然),但也许还有另一种方法可以完成同样的事情?

0 投票
5 回答
130 浏览

c# - C# 规范中对引用类型和值类型的轻微混淆

我试图在 C# 规范中消化这个陈述,其中指出(§4.2):

引用类型是类类型、接口类型、数组类型或委托类型。

我知道结构可以实现接口。结构是值类型。

所以,我很难协调这些信息。这是否意味着结构在通过接口类型处理时表现为引用类型?这意味着您可以获得对值类型的引用......

0 投票
3 回答
196 浏览

c# - 将包含类实例的结构的变量分配给另一个变量

据我了解,将结构的变量分配给相同类型的另一个变量将进行复制。但是这条规则似乎被打破了,如下图所示。你能解释一下为什么会这样吗?

在此处输入图像描述

0 投票
1 回答
237 浏览

c# - C# 引用值类型

我的程序的主要组件在主线程中运行。该程序能够将用户的工作保存到文件中,但是额外的元信息会与用户的工作一起保存。

例子:

在程序中,我存储了一些东西,比如设置等。让我们假设它们是bool flag1and bool flag2。我有这样的结构:

当我保存时:

当我加载:

所以基本上flag1和flag2需要和作品一起保存,但不一定属于作品。它们实际上代表了用户在保存时完成工作流的程度。

现在,我构建了一个自动保存功能,它可以监控用户进行任何修改时触发的事件。UserWork 类触发事件,所以这很容易做到。我遇到的问题是我不确定如何发送和存储对 AutoSave 线程中标志的引用。

我有:

当我运行我的代码(不是上面的代码,而是类似的代码)时,这些标志总是false不管它们在我的主线程中的值是什么。

编辑澄清:问题不在于我不能让它与其他解决方法一起使用。例如,我可以在 AutoSave 类中公开两个标志并同时更新主标志和自动保存标志。即flag1 = autoSave.Flag1 = true。相反,问题在于这很麻烦。这意味着我必须记住每次更新任何标志时都这样做。此外,当我可以简单地在内存中保存一份副本并在多个地方引用它时,一直用相同的数据更新多个变量是没有意义的。