Che*_*hev 15 .net c# oop object anonymous-types
我经常发现自己需要创建一个类作为一些数据的容器.它只是简单地使用,但我仍然需要创建类.像这样:
public class TempObject
{
public string LoggedInUsername { get; set; }
public CustomObject SomeCustomObject { get; set; }
public DateTime LastLoggedIn { get; set; }
}
public void DoSomething()
{
TempObject temp = new TempObject
{
LoggedInUsername = "test",
SomeCustomObject = //blah blah blah,
LastLoggedIn = DateTime.Now
};
DoSomethingElse(temp);
}
public void DoSomethingElse(TempObject temp)
{
// etc...
}
Run Code Online (Sandbox Code Playgroud)
通常我的临时对象具有更多属性,这就是我想首先将它们分组的原因.我希望有一种更简单的方法,例如匿名类型.问题是,当我将它传递给另一种方法时,我不知道该接受什么.这种类型是匿名的,所以我怎么能在另一方接受呢?
public void DoSomething()
{
var temp = new
{
LoggedInUsername = "test",
SomeCustomObject = //blah blah,
LastLoggedIn = DateTime.Now
};
// I have intellisense on the temp object as long as I'm in the scope of this method.
DoSomethingElse(temp);
}
public void DoSomethingElse(????)
{
// Can't get my anonymous type here. And even if I could I doubt I would have intellisense.
}
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法为一堆不同类型创建临时容器,或者每次需要临时对象将事物分组在一起时是否需要定义类?
提前致谢.
Jac*_*cob 29
元组可能是您正在寻找的解决方案.
public void DoSomething()
{
var temp = Tuple.Create("test", "blah blah blah", DateTime.Now);
DoSomethingElse(temp);
}
public void DoSomethingElse(Tuple<string, string, DateTime> data)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)