相关疑难解决方法(0)

继承如何为Attributes工作?

Inherited属性上的bool属性是指什么?

这是否意味着如果我使用属性AbcAtribute(有Inherited = true)定义我的类,并且如果我从该类继承另一个类,那么派生类也将应用相同的属性?

要使用代码示例澄清此问题,请想象以下内容:

[AttributeUsage(AttributeTargets.Class, Inherited = true)]
public class Random: Attribute
{ /* attribute logic here */ }

[Random]
class Mother 
{ }

class Child : Mother 
{ }
Run Code Online (Sandbox Code Playgroud)

是否ChildRandom应用了属性?

.net c# vb.net attributes

103
推荐指数
2
解决办法
5万
查看次数

DebuggerStepThrough被忽略

我最近注意到,Visual Studio 2010调试器不断跳转到使用该[DebuggerStepThrough]属性标记的此方法.

Visual Studio 2010步入DebuggerStepThrough区域

callstack看起来像这样:

  1. Page.OnLoad 在标记为的类中调用方法IsSubclassOfGeneric[DebuggerStepThrough].
  2. IsSubclassOfGeneric如图所示调用GetHierarchy,将lambda表达式传递给System.Linq.Enumerable.Any扩展.
  3. Visual Studio将进入如上所示的方法.

我刚刚用foreach循环替换了Linq调用,如下所示,无济于事:

调用GetHierarchy

这有点令人烦恼,因为这种方法被频繁调用,我不明白为什么要忽略该属性.

debugging visual-studio-2010

8
推荐指数
1
解决办法
1584
查看次数

标签 统计

.net ×1

attributes ×1

c# ×1

debugging ×1

vb.net ×1

visual-studio-2010 ×1