Sign in
|
Help
Peter Ritchie's MVP Blog
This is not a life-saving device.
This Blog
Home
Contact
Syndication
RSS for Posts
Atom
RSS for Comments
Search
Go
Tags
.NET 2.0
.NET 3.5
.NET 3.x
.NET Development
C#
C# 3.0
C# 3.0 Breaking Changes
C# Nugget
C++
Design/Coding Guidance
DevCenterPost
Framework Bugs
General
Interesting Find
Microsoft
MVP
Non-development
OOD
Patterns
Pontification
Resharper
Software Development
Visual Studio 2005
Visual Studio 2008
WinForms
News
Twitter Updates
Community
Home
Blogs
Media
Groups
Email Notifications
Go
Archives
September 2008 (2)
August 2008 (8)
July 2008 (8)
June 2008 (5)
May 2008 (8)
April 2008 (1)
March 2008 (4)
February 2008 (6)
January 2008 (4)
December 2007 (4)
November 2007 (1)
October 2007 (4)
September 2007 (2)
August 2007 (3)
July 2007 (2)
June 2007 (4)
May 2007 (5)
April 2007 (2)
March 2007 (4)
February 2007 (3)
January 2007 (1)
November 2006 (2)
October 2006 (5)
September 2006 (6)
August 2006 (2)
July 2006 (7)
March 2006 (1)
Nuggets
.NET 2.0 Breaking Changes
Visual Studio and .NET Framework Feedback
Microsoft Developer Network Forums
Interesting Blogs
Visual Studio Code Analysis Blog
Sara Ford's Blog
Me
Technorati Profile
Browse by Tags
All Tags
»
Software Development
»
.NET Development
(
RSS
)
.NET 2.0
.NET 3.5
Asynchronous Programming Model (APM)
C#
C# 3.0
C# 3.0 Breaking Changes
CodeRush Refactor! Pro
Connect Issue
Design/Coding Guidance
DevCenterPost
Framework Bugs
Interesting Find
ITSWITCH
ITSWITCH Answer
Microsoft
Open Source
Patterns
Poor UI
Pop Quiz
Product Bugs
Resharper
TCP
Visual Studio 2005
Visual Studio 2008
Visual Studio 2008 SP1
WinForms
Tuesday, September 02, 2008 1:49 PM
Becoming a Visual Studio Jedi Part 1
Becoming a Visual Studio 2008 (and often Visual Studio 2005) Jedi In much the same grain as James' Resharper Jedi posts, I'm beginning a series of posts on becoming a Visual Studio Jedi. It involves getting the most out of Visual Studio off-the...
Posted by
PeterRitchie
|
7 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Visual Studio 2008
,
DevCenterPost
Tuesday, August 26, 2008 3:06 PM
Trials and Tribulations of DataGridView, Column Selections, and Sorting
I had to implement some custom sorting in a DataGridView recently. Essentially, the stakeholders wanted full column selection (like Excel) while still having the ability to sort the data based on a particular column. This particular DataGridView is data...
Posted by
PeterRitchie
|
1 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
.NET 3.5
,
Framework Bugs
,
Connect Issue
,
Visual Studio 2008 SP1
Monday, August 11, 2008 5:34 PM
DataGridViewColumn.Frozen
DataGridViewColumn.Frozen is documented as "When a column is frozen, all the columns to its left (or to its right in right-to-left languages) are frozen as well." Which is nice until you think of the consequences. The consequences being that...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
Monday, July 28, 2008 2:00 PM
ITSWITCH #1: Answer
Last post I detailed some code that may or may not have something wrong in it. If you thought InitializeOne and IntializeTwo are semantically identical (e.g. they differ only by performance), you'd be wrong. If you simply ran the code, you'd...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
Software Development
,
.NET 2.0
,
Design/Coding Guidance
,
Pop Quiz
,
ITSWITCH Answer
Friday, July 25, 2008 1:58 PM
ITSWITCH: #1
A short pop quiz on design/coding in C#...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
.NET 2.0
,
Design/Coding Guidance
,
Pop Quiz
,
ITSWITCH
Monday, July 21, 2008 3:32 PM
Working with Resharper's External Annotation XML Files
Resharper 4.0 has external annotation XML files that you can create to give Resharper more information about your code. For example, you can tell Resharper that a particular method does not accept a null argument. For example, the following method does...
Posted by
PeterRitchie
|
4 comment(s)
Filed under:
.NET Development
,
Software Development
,
Visual Studio 2008
,
Resharper
Friday, July 18, 2008 11:46 AM
Drag-copying in Visual Studio Solution Explorer.
NOTE: I've tried this in Visual Studio 2008 (VS2k8), I'm assuming the same thing happens in Visual Studio 2005 (VS2k5). In the process of refactoring, it's *very* common for me to rename a type. This is most easily done by renaming the file...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
.NET Development
,
Software Development
,
Visual Studio 2008
,
.NET 3.5
,
Product Bugs
,
Poor UI
Tuesday, July 15, 2008 9:47 AM
Nested Types
Recently Michael Features blogged about nested types . The title was almost "nested types considered harmful". I don't agree. I don't agree that they're any more harmful than any other C# construct (except goto...). Nested types...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Visual Studio 2008
,
C# 3.0
,
.NET 3.5
,
TCP
,
Asynchronous Programming Model (APM)
Wednesday, July 02, 2008 1:15 PM
Sandcastle Source Code Published
The source for the Sandcastle project has been published . This is great news. For more information, see http://www.codeplex.com/Sandcastle/SourceControl/ListDownloadableCommits.aspx .
Posted by
PeterRitchie
| with
no comments
Filed under:
.NET Development
,
Interesting Find
,
Software Development
,
Open Source
Wednesday, June 25, 2008 8:17 PM
Comparing CodeRush Refactor! Pro and Resharper 4, part 1 or N -- first glance.
Metadata view of code in referenced assemblies This is a big one for me. For whatever reason, Refactor 4 (and prior) completely disables this and sends you to the Object Browser instead. You get metadata view with CodeRush Refactor! Pro. Keyboard layout...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Software Review
,
Resharper
,
CodeRush Refactor! Pro
Wednesday, June 25, 2008 12:21 PM
Entity Framework Petition of Vote of Non Confidence
I had intended to be happy simply being a signatory of ADO .NET Entity Framework Vote of No Confidence. But, there's people suggesting signatories of this petition are wackos or on the fringe. Do yourself a favour and read the petition . Read what...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Microsoft
Tuesday, April 29, 2008 9:08 AM
Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments
I ran into an interesting problem on the Forums recently. Basically, when you use MethodInfo.Invoke to invoke a method with by-reference value type arguments you can't have the invoked method update a variable/argument. The problem is, when you invoke...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
DevCenterPost
Friday, March 07, 2008 8:48 AM
Single-Entry, Single-Exit, Should It Still Be Applicable In Object-oriented Languages?
Before the modern high-level languages Edsger Dijkstra came up with "Structured Programming". This programming methodology relied on the programmer to form and enforce most of the structure of the program--manually keeping sub-structures and...
Posted by
PeterRitchie
|
32 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
Thursday, December 13, 2007 9:42 AM
Dependency Injection
Dependency injection (DI) is a form of inversion of control. There seems to be a tendency in some circles to refer to dependency injection as inversion of control (IoC). Dependency injection is a form of abstraction by removing physical dependencies between...
Posted by
PeterRitchie
|
1 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Patterns
Sunday, December 09, 2007 4:38 PM
New Warning CS1060 in C# 3 (Visual Studio 2008)
Recompiling C# 2 (Visual Studio 2005) code in C# 3 (Visual Studio 2008), you may incounter a new warning that didn't used to ocur: Warning CS1060: Use of possibly unassigned field 'fieldName'. Struct instance variables are initially unassigned...
Posted by
PeterRitchie
| with
no comments
Filed under:
.NET Development
,
Software Development
,
Visual Studio 2008
,
.NET 3.5
,
C# 3.0 Breaking Changes
Tuesday, June 26, 2007 11:36 AM
System.Collections classes are obsolete
Collection classes like ArrayList, SortedList, Stack and Hashtable will shortly be obsoleted (i.e. the ObsoleteAttribute will be applied to them in upcoming .NET Framework builds). You can start to see this in the Silverlight Alpha (i.e. the Obsolete...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
.NET Development
,
Software Development
,
Microsoft
Tuesday, June 12, 2007 12:25 PM
DateTime.ToUniversalTime *Should* Throw Exceptinos.
A recent .NET Base Class Library blog post points out that DateTime.ToUniversalTime does not throw an exception for overflow values. This circumvents different Microsoft-sanctioned guidelines about using exceptions for exceptional situations, error reporting...
Posted by
PeterRitchie
|
1 comment(s)
Filed under:
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Microsoft
Tuesday, May 22, 2007 12:45 PM
.NET Framework 2.0 Service Pack 1
I noticed mention of .NET Framework 2.0 Service Pack 1 on a Microsoft site today. The BCL Team's latest blog entry http://blogs.msdn.com/bclteam/archive/2007/05/21/the-regexoptions-compiled-flag-and-slow-performance-on-64-bit-net-framework-2-0-josh...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
.NET Development
,
Interesting Find
,
Software Development
,
Visual Studio 2005
,
.NET 2.0
Friday, May 18, 2007 11:02 AM
Accumulative Construction
A while back someone asked for guidance on what order should polymorphic construction occur in C# classes. I guess I had never really put much thought into it before and have never seen other guidance on the topic; but, I can see where this can become...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
Thursday, April 26, 2007 9:41 PM
Thread.Sleep is a sign of a poorly designed program.
Thread.Sleep has it's use: simulating lengthy operations while testing/debugging on an MTA thread. In .NET there's no other reason to use it. Thread.Sleep(n) means block the current thread for at least the number of timeslices (or thread quantums...
Posted by
PeterRitchie
|
48 comment(s)
Filed under:
.NET Development
,
Software Development
More Posts
Next page »