相关疑难解决方法(0)

在c#中打印变量的名称

我有一个声明

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++中有哪些宏?

c# printing variables

9
推荐指数
3
解决办法
3万
查看次数

ListBox.DisplayMember = [String]我可以以某种方式解决它不是.NET中的字符串吗?

询问有关对象数据源的问题.所以考虑一下我有一堂课

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仍然保持"名称".这将失败.所以它降低了我重构域对象的能力.这有什么办法吗?

.net data-binding refactoring strong-typing

3
推荐指数
1
解决办法
2811
查看次数

将强类型属性名称作为参数传递

我有一个IEnumerable<School>正在传递给一个扩展方法的集合,该方法填充DropDownList. 我也想将DataValueFieldandDataTextField作为参数传递, 但我希望它们是强类型的。

基本上,我不想stringDataValueFieldDataTextField参数传递 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)

我的问题是,我怎么能传递DataValueFieldDataTextField强类型作为参数传递给populateDropDownList?

c# lambda strong-typing

3
推荐指数
1
解决办法
4864
查看次数