我有一个与我合作的对象,它被放置在很多字典和列表中,所以当我调用它时,该行变得非常长,我希望能够快速地使用它做一些事情它的参考,如下:
ref MyObject o = thingsStorageClass.dictionary[anotherDictionary[list.key]];
o.someField = value;
int i = o.integer;
DoStuff(o.specialSomething);
但似乎我不能在本地对象初始化之前放置ref
。如何在不使用外部方法并将对象作为参数的情况下执行此类操作?
答案 0 :(得分:5)
只需删除ref
即可,因为o
是类MyObject
的实例,因此它是引用类型。您不会以这种方式创建新实例。
答案 1 :(得分:3)
如果您正在谈论引用该对象,您只想将其分配给variable
(删除ref
关键字,这就是您拥有的内容)。如果您使用的是C#3.0,则可以使用var
关键字进一步缩短它。
var o = thingsStorageClass.dictionary[anotherDictionary[list.key]];
或者,如果您的意思是实际类型本身,那么您可以使用别名,例如
using MyPair = System.Collections.Generic.Dictionary<string, string>;
...
var o = new MyPair("key", "value");
答案 2 :(得分:2)
只需删除ref
- 您无论如何都要指定类型。
MyObject o = thingsStorageClass.dictionary[anotherDictionary[list.key]];
o.someField = value;
int i = o.integer;
DoStuff(o.specialSomething);
或使用var o =