0

我正在使用 Ninject Interception 扩展来实现 SQLLogging。我有一个名为“param”的变量,它是一个匿名类型,正如它在 Watch 窗口中显示的那样(见下图)。当我这样做时param.ToString(),它返回了

{Countries = {System.Collections.Generic.List< int >}


var param = invocation.Request.Arguments[0]; 

其中 invoation 是 Ninject.Extensions.Interception.IInvoation 接口类型。

我需要得到的是一个名字和它的项目。所以,对于这个,我想要“Countries = 36, 124, 826, 840”之类的东西。

我如何遍历列表来实现这一点?另外,请注意Countries在这种情况下的名称直到运行时才知道。可能是这样的

{Ages = {System.Collections.Generic.List< int >}

或者

{Subjects={System.Collections.Generic.List< string >}

观察窗口中的对象

4

2 回答 2

0

您可以使用反射、循环属性、检查类型,如果它是列表,则迭代列表。

于 2015-08-03T11:32:07.110 回答
0

您可能想为List<T>. 它将用于所有列表,不仅是您的匿名类型,但它可能仍然对您有用。

https://msdn.microsoft.com/en-us/library/e2zc529c.aspx

于 2015-07-30T06:29:41.800 回答