在 C# 中转换对象引用
如果我有一个函数引用一个对象。如何转换参数以避免类型不匹配?
Dictionary<string, string> mySettings = new Dictionary<string, string>();
.
.
saveSettings(ref mySettings);
.
.
void saveSettings(ref object)
{
}
对 saveSettings 的调用会导致以下错误消息:
无法从“ref Dictionary”转换为“ref object”
我不是在寻找解决方法,我已经这样做了,我想知道这种直接方法是否可行。
If I have a function that takes a reference to an object. How do I cast the parameter to avoid a type mismatch?
Dictionary<string, string> mySettings = new Dictionary<string, string>();
.
.
saveSettings(ref mySettings);
.
.
void saveSettings(ref object)
{
}
The call to saveSettings results in the following error message:
cannot convert from 'ref Dictionary' to 'ref object'
I'm not looking for a workaround, I've done that, I would like to know if this direct approach is possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果保存设置采用多种类型,为什么不使用通用类型呢?特别是如果它们共享一个通用接口。
If save settings is taking multiple types, why not use a generic instead? Esp if they share a common interface.
saveSettings 的定义格式错误。您需要在“ref object”后面添加一个标识符。但我会将“ref 对象”改为字典。
The definition of saveSettings is malformed. You need an identifier after "ref object". But I'd make the "ref object" a Dictionary instead.
这样做:
Do it this way:
像这样的东西:
编辑一些调试输出。
Something like this:
EDIT Some debugging output.