Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Creating Your Own Custom Switch Class
|
441
However, you need a finer-grained set of levels, such as those shown in Table 8-2.
Solution
You can create your own switch class that inherits from System.Diagnostics.Switch
and provides the level of control that you need. For example, creating a class that
allows you to set more precise trace levels than those supported by the TraceSwitch
class involves the following steps:
1. Define a set of enumerated values that represent the levels to be supported by
your switch class. The following definition implements the levels listed in
Table 8-2:
public enum AppSpecificSwitchLevel
{
Disable = 0,
Note = 1,
Warning = 2,
MinorError = 3,
MediumError = 4,
CriticalError = 5
}
2. Define a class, such as AppSpecificSwitch (shown in Example 8-1), that inherits
from
System.Diagnostics.Switch and sets your own levels.
Table 8-2. A set of custom trace levels
Disable MinorError
Note MediumError
Warning CriticalError
Example 8-1. AppSpecificSwitch, a custom switch class
public class AppSpecificSwitch : Switch
{
protected AppSpecificSwitchLevel level = 0;
public AppSpecificSwitch(string displayName, string description)
: base(displayName, description)
{
Level = (AppSpecificSwitchLevel)base.SwitchSetting;
}
// Read/write Level property
public AppSpecificSwitchLevel Level ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata