Channels ▼

Joydip Kanjilal

Dr. Dobb's Bloggers

Generate From Usage in Visual Studio 2010

June 25, 2010

The Generate From Usage feature in Visual Studio 2010 helps you use classes and members even before they have been defined.

You can use this feature to generate a stub for any class, method, property, field, or enum that you would like to use but not yet defined. The best part is that you can generate new types and members but without having to interrupt your workflow -- you need not leave your current location in the source code. You can use this feature both in your C# or VB.NET code. With this feature, you can generate stubs for classes, properties, fields, methods, or generate new types.

As an example, assuming that you have a class called Employee, you can generate a stub for an instance property for the property as shown below:

Employee employee = new Employee();
String address = employee.Address;

As and when your code references the undefined property called Address, just click "Generate Property Stub". You will notice that the property stub would be generated in the Employee class and the return type of this property will be determined from the context of the usage. The Employee class will now have the new property called Address of type String as shown below:

public class Employee
     public String Address { get; set; }
     //Other members of the Employee class

Generate From Usage is a great feature in that it promotes testability of your application's code.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.