使用debuggerbrowsable特性可以自定義除錯窗體。
使用debuggerdisplay特性可以自定義除錯資訊的顯示。
要使用這些特性,需要引用system.diagnostics命名空間。
技巧1、使用debuggerbrowsable特性
你可以通過在屬性上使用debuggerbrowsable特性來自定義除錯窗體。這些特性可以用任何屬性、欄位和索引上。debuggerbrowsable的建構函式需要乙個debuggerbrowsablestate 引數。debuggerbrowsablestate用來指定除錯資訊在窗體上顯示的方式。
它有三個狀態:
1、collapsed :如果設定debuggerbrowsablestate為collapsed 。那麼除錯資訊摺疊顯示。預設為collapsed
2、never :除錯窗體不顯示除錯資訊
下面我將通過乙個例子敘述如何使用debuggerbrowsable 和debuggerbrowsablestate。開始之前,看下面這段**:
class下面,先看一下不使用這些特性是什麼樣的效果。我在main 函式的結尾放置乙個斷點。你可以得到下面的除錯窗體。program
});student.add(
newstudent });
student.add(
newstudent });
student.add(
newstudent });
student.add(
newstudent });
student.add(
newstudent });
}///
///student class
///
class
student
public
string
name
public
intmarks
public
address addresses
}///
///address of students
///
class
address
public
string
address2 }}
從上圖中可以看到有6個student物件,每個物件的值都不同。addresses是類address的物件,它的除錯資訊值是隱藏的。
現在,我想要看到address的所有屬性資訊,隱藏marks 屬性。為了實現這樣的需求,需要為給student 類中的marks 和addresses屬性新增debuggerbrowsable特性。
除錯資訊顯示如下圖:
技巧2、使用debuggerdisplay特性
使用debuggerdisplay可以定義類和字段在除錯窗體中如何顯示。使用 debuggerdisplay可以改變除錯窗體中顯示的資訊和變數,使它顯示你想要的資訊。
看下面沒有使用debuggerdisplay的除錯窗體。
預設情況下,每乙個study物件你只得到namespace.classname這樣的顯示資訊。我們可以使用debuggerdisplay來自定義顯示的資訊。 debuggerdisplay 建構函式需要顯示名作為引數。你可以傳遞指定引數來顯示。做如下設定:
看下效果:
使用debuggerdisplay的時候必須注意,在{}中必須給出類的正確屬性。
如我將roll寫成rolls,如下圖:
總結:本文講述了使用debuggerbrowsable 和debuggerdisplay兩個特性來自定義除錯窗體的顯示。當你除錯乙個非常複雜的物件時,這個是非常有用的,它可以使你的除錯窗體非常簡單。
自定義Visual Studio 2010 快捷鍵
當我們要輸入console.writeline 的時候,只要輸入cw,然後兩下tab鍵就自動完成輸入了,這個應該你知道吧。可是要想輸入console.readline 怎麼辦?是不是輸入cr,然後兩下tab鍵也可以自動完成呢?可是,不是。額。那怎麼辦呢?嗯。那就自定義咯。自定義步驟 以cr cons...
自定義Visual Studio 2010 快捷鍵
當我們要輸入console.writeline 的時候,只要輸入cw,然後兩下tab鍵就自動完成輸入了,這個應該你知道吧。可是要想輸入console.readline 怎麼辦?是不是輸入cr,然後兩下tab鍵也可以自動完成呢?可是,不是。額。那怎麼辦呢?嗯。那就自定義咯。自定義步驟 以cr cons...
Visual Studio 自定義專案模板
經常我們需要新建乙個專案,然後新建我們的view資料夾,viewmodel資料夾,model資料夾,還有把我們的viewmodelbase放入我們的viewmodel,如果還用框架,還需要加上好多。而我一般還有用九幽統計,需要修改好多東西,每新建乙個專案都要做這個,這樣我覺得不好,在網上看到了自定義...