我有一个声明
int A = 10,B=6,C=5;
Run Code Online (Sandbox Code Playgroud)
我想写一个打印函数,我将int变量传递给它,它打印我的变量名称和值.
例如,如果我打印(A)它必须返回"A:10",然后打印(B)然后它必须返回"B:6"
总之,我想知道如何访问变量的名称并将其打印到c#中的字符串.我必须使用反射吗?
看完答案后
大家好,感谢您提供的建议.我会尝试一下,但我想知道它是否在.NET 2.0中完全可能?没什么相似的
#define prt(x) std::cout << #x " = '" << x << "'" << std::endl;
Run Code Online (Sandbox Code Playgroud)
C/C++中有哪些宏?
询问有关对象数据源的问题.所以考虑一下我有一堂课
public class Customer{
public String name;
public int age;
public Customer(String name, int age) {
this.name = name;
this.age = age;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经将列表框数据绑定到这些对象的列表中.所以我说
listBox.DisplayMember = "name";
Run Code Online (Sandbox Code Playgroud)
但我的问题是,当我将Customer类的名称重构为
public String fullName;
Run Code Online (Sandbox Code Playgroud)
DisplayMember仍然保持"名称".这将失败.所以它降低了我重构域对象的能力.这有什么办法吗?
我有一个IEnumerable<School>正在传递给一个扩展方法的集合,该方法填充DropDownList. 我也想将DataValueFieldandDataTextField作为参数传递,
但我希望它们是强类型的。
基本上,我不想string为DataValueField和DataTextField参数传递 a ,这很容易出错。
public static void populateDropDownList<T>(this DropDownList source,
IEnumerable<T> dataSource,
Func<T, string> dataValueField,
Func<T, string> dataTextField) {
source.DataValueField = dataValueField; //<-- this is wrong
source.DataTextField = dataTextField; //<-- this is wrong
source.DataSource = dataSource;
source.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
这么叫...
myDropDownList.populateDropDownList(states,
school => school.stateCode,
school => school.stateName);
Run Code Online (Sandbox Code Playgroud)
我的问题是,我怎么能传递DataValueField和DataTextField强类型作为参数传递给populateDropDownList?