C# Frequently Asked Questions
The C# team posts answers to common questions and describes new language features
October 2004 - Posts
Preprocess Win32 Messages through Windows Forms
20 October 04 04:59 PM
In the unmanaged world, it was quite common to intercept Win32 messages as they were plucked off the message queue. In that rare case in which you wish to do so from a managed Windows Forms application, your first step is to build a helper class which
Read More...
Be Mindful of the References / 'using' / Manifest Relationship
20 October 04 04:58 PM
Given that the .NET platform encourages binary reuse of types, it is commonplace to set references to external assemblies using the Visual Studio .NET Add Reference dialog box. Many programmers (especially those of the C(++) ilk) fear that adding unnecessary
Read More...
Activate 'Full Screen Mode' During your Source Code Editing
20 October 04 04:50 PM
Okay, I admit this is a rather lame tip which can hardly qualify as 'insightful', however this is one of my favorite features of Visual Studio .NET (as well as previous editions of the Visual Studio product line) which many folks are (surprisingly) unaware
Read More...
Leverage the C# Preprocessor
20 October 04 01:20 PM
Like other languages in the C-family, C# supports a set of 'preprocessor' directives , most notably #define , #if and #endif (technically, csc.exe does not literally have a preprocessor as these symbols are resolved at the lexical analysis phase, but
Read More...
Avoiding Type Name-Clashes using 'using'
20 October 04 12:58 PM
You are already aware that the C# using keyword allows you to supply hints to the compiler regarding the fully qualified name of the types within a given *.cs file. However, what you may not know is that the using keyword also allows you to build aliases
Read More...
Build 'Consistent' .NET assemblies with FxCop
20 October 04 12:55 PM
The term 'best practices' sends chills up the spines of many people. Reason being, what is 'best' for one is 'horrible' for another. However, if you are interested in ensuring that your custom .NET assemblies are in-sync with the coding guidelines proposed
Read More...
Simplified Interface Implementation a la VS .NET 2003
20 October 04 11:08 AM
Another helpful feature of VS .NET 2003 has to do with the implementation of interface types. As you know, when a class or structure agrees to implement a given interface, it must implement all of the members. Assume you wish to support an interface containing
Read More...
Simplified Event Handling a la VS .NET 2003
20 October 04 11:07 AM
Working with events under the .NET platform requires you to be aware of a number of details. For example, if you know the name of the event you wish to handle, you must then know the name of the related delegate type. Once you know that much, you must
Read More...
Integrate ildasm.exe into VS .NET 2002
20 October 04 11:05 AM
VS .NET allows you to add any number of external tools to the Tools menu. One very helpful technique is to configure ildasm.exe to automatically load up the current assembly being compiled. While VS .NET 2003 sets this up automatically, VS .NET 2002 may
Read More...
Add Custom .NET Assemblies to the Add Reference Dialog
20 October 04 11:03 AM
As you most likely know by now, the Add References dialog of Visual Studio .NET does not list each and every assembly on your machine, does not directly map to the Global Assembly Cache and does not list your custom assemblies. Typically this limitation
Read More...
Leverage C# Response Files at the Command Line
20 October 04 11:02 AM
Although I'd bet most of you make use of VS .NET as opposed to the raw command line complier, csc.exe can be quite useful in a number of circumstances. However, few of us enjoy typing lengthy command line flags such as: csc /r: MyAsm.dll;MyOtherAsm.dll
Read More...
Be Aware of wincv.exe
20 October 04 10:58 AM
When you install the .NET SDK / VS.NET, you are provided with numerous stand alone programming tools, one of which is named wincv.exe ( Windows Class Viewer ). Many developers are unaware of wincv.exe, as it is buried away under the C:\Program Files\Microsoft
Read More...
Utilize the Server Explorer
20 October 04 10:56 AM
Visual Studio .NET provides a very interesting view of the world named the Server Explorer (which can be activated from the View menu). While you may already be aware many of these items can be opened within VS .NET for editing (for example, opening a
Read More...
Obtain Type Information on the Fly using typeof
20 October 04 10:54 AM
All .NET assemblies contain vivid type information which describes the structure of every internal and external type (this can be verified by loading an assembly into ildasm.exe and clicking the ctrl-m keystroke). On a related note, many methods in the
Read More...
Interacting with overloaded operators from overloaded operator challenged languages
20 October 04 10:50 AM
Like the C++ language, C# allows you to overload operators for your custom types. For example, assume you have a structure named MyPoint which has overloaded the plus operator. If this is the case, you can 'add' two MyPoints as so: // Add two MyPoint
Read More...
This Blog
Home
Links
Email
Tags
.NET Framework
C# 4.0
C# Language 2.0
C# Language and Compiler
C#/VB.NET Equivalents
Debugger/Debugging
DLR
dynamic language runtime
DynamicObject
ExpandoObject
expression trees
General
IDE
LINQ
LINQ to Objects
Tips
Visual Studio 2010
Archives
October 2009 (2)
September 2009 (1)
March 2009 (1)
January 2009 (1)
October 2006 (2)
March 2006 (3)
February 2005 (1)
December 2004 (4)
November 2004 (1)
October 2004 (15)
August 2004 (3)
July 2004 (3)
June 2004 (1)
May 2004 (8)
April 2004 (4)
March 2004 (36)
Syndication
RSS 2.0
Atom 1.0