Tag: C#的

find一个私人领域与思考?

给这个class class Foo { // Want to find _bar with reflection [SomeAttribute] private string _bar; public string BigBar { get { return this._bar; } } } 我想find私人项目_bar,我将用一个属性标记。 那可能吗? 我已经做了这样的属性,我已经找了一个属性,但从来没有私人成员字段。 什么是绑定标志,我需要设置获取私人领域?

C#switch语句限制 – 为什么?

在编写switch语句时,在case语句中可以打开什么似乎有两个限制。 例如(是的,我知道,如果你正在做这种事情,这可能意味着你的面向对象 (OO)体系结构是不确定的 – 这只是一个人为的例子!), Type t = typeof(int); switch (t) { case typeof(int): Console.WriteLine("int!"); break; case typeof(string): Console.WriteLine("string!"); break; default: Console.WriteLine("unknown!"); break; } 在这里,switch()语句失败,'期望的整数types的值'和case语句失败'期望值为常数'。 为什么这些限制已经到位,以及根本的理由是什么? 我没有看到为什么switch语句只能屈从于静态分析的任何理由,以及为什么被打开的值必须是整数(即原语)。 什么是理由?

我如何反映dynamic对象的成员?

我需要从.NET 4中的dynamic关键字声明的对象中获取属性及其值的字典? 似乎使用reflection这是行不通的。 例: dynamic s = new ExpandoObject(); s.Path = "/Home"; s.Name = "Home"; // How do I enumerate the Path and Name properties and get their values? IDictionary<string, object> propertyValues = ???

如何禁用几行代码的GCC警告

在Visual C ++中,可以使用#pragma warning (disable: …) 。 另外我发现在GCC中你可以覆盖每个文件的编译器标志 。 我怎样才能做到这一点“下一行”,或使用GCC代码周围的推/ pop语义?

在C ++中删除vs delete 操作符

C ++中的delete和delete[]操作符有什么区别?

ObservableCollection不支持AddRange方法,所以我得到通知每个项目添加,除了INotifyCollectionChanging?

我希望能够添加一个范围,并获得整个批量更新。 我也希望能够在完成之前取消操作(即,除了“更改”之外的集合更改)。 相关问题哪个.net集合一次添加多个对象并得到通知?

是“for(;;)”比“while(TRUE)”更快? 如果没有,为什么人们使用它?

for (;;) { //Something to be done repeatedly } 我已经看到了这种东西,但是我觉得这很奇怪……说实话,说这些话不是很清楚吗? 我猜(这是许多程序员求助于隐藏代码的原因),这是一个微小的利润更快? 为什么,这真的值得吗? 如果是这样,为什么不这样定义: #define while(true) for(;;) 另见: 哪个更快:while(1)或while(2)?

types之后的问号的目的是什么(例如:int?myVariable)?

通常,问号的主要用途是针对条件的, x ? "yes" : "no" x ? "yes" : "no" 。 但我已经看到了另一个用途,但无法find这个使用的解释? 运营商,例如。 public int? myProperty { get; set; }

如何从C#closures计算机

从C#程序closures计算机的最佳方法是什么? 我发现了一些可行的方法 – 我会在下面发表 – 但是没有一个很优雅。 我正在寻找更简单的本地.net。

inheritance构造函数

为什么这个代码: class A { public: explicit A(int x) {} }; class B: public A { }; int main(void) { B *b = new B(5); delete b; } 导致这些错误: main.cpp:在函数'int main()'中: main.cpp:13:错误:没有匹配函数调用'B :: B(int)' main.cpp:8:注意:候选人是:B :: B() main.cpp:8:note:B :: B(const B&) 不应该BinheritanceA的构造函数? (这是使用gcc)