- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
它是这样工作的:
>>> def foo(arg):
... x = 1
... print locals()
...
>>> foo(7)
{'arg': 7, 'x': 1}
>>> foo('bar')
{'arg': 'bar', 'x': 1}
我在 c# .net 中需要这样的东西,或者如何自己实现它?
最佳答案
这是不可能的。其他答案为您提供了有关如何检索局部变量集及其类型的想法,但肯定不是它们在执行时的当前值。 C# 或 .NET 中没有这方面的规定。方法参数也是如此:您可以检索它们的类型(甚至它们的名称),但不能检索它们的值。
请允许我建议,如果您需要这个,您的代码设计存在严重缺陷。您应该考虑重新考虑您的代码结构。
作为变通方法,您可以声明一个类,其中包含字段,而不是您想要的局部变量。然后您可以使用反射来迭代这些字段:
foreach (var field in typeof(MyClass).GetFields())
Console.WriteLine("Field name: {0}; field value: {1}",
field.Name, field.GetValue(myInstance));
但是,我认为您可以很容易地看出这不是一个非常健壮的代码:任何时候您对该类进行更改,您在此代码片段中所做的隐含假设都可能会失效。
在 C# 中传递关联数据的标准推荐方法是 Dictionary<,>
.这相当于 Python 的 dict
.您可以使用 Dictionary<string, object>
如果您需要名称作为键和任意对象作为值,但如果您使用比 object
更具体的类型,您将受益于编译时有效性检查.
关于c# - 需要像 python 中的本地人这样的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504118/
我是 gradle 的新手,我正在尝试使用 lwjgl3 配置 gradle。因为我没有找到托管 lwjgl3 的存储库,所以我决定使用该项目的每个人都必须定义 lwjgl 库的路径。我创建了一个 u
我正在按照一些教程学习 masm32。在一个教程中:http://win32assembly.online.fr/tut3.html有说明: LOCAL directive allocates mem
我想为我的 response.locals 添加类型。它用于将数据附加到您的请求-响应周期。 我尝试过的 // ./types/express/index.d.ts declare global {
我有一个基于 NodeJS、Express 和 Jade 4.13.4 的 Web 应用程序。在 index.js 中,我设置了如下路径: index.js var express = require
我是一名优秀的程序员,十分优秀!