Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
338 views
in Technique[技术] by (71.8m points)

c# - Is there a way, at design time, to initialize an object with all properties in Visual Studio 2010?

Background

I am writing code in VS 2010, .NET 4, C#. Also, in case it matters, I am using the latest version of ReSharper.

Question

Let's say I have this model:

public class SomeObject
        {
            public string Red{ get; set; }
            public string Green{ get; set; }
            public string Blue{ get; set; }
            public string Yellow{ get; set; }
            public string Purple{ get; set; }
            public string Orange{ get; set; }
            public string Black{ get; set; }
        }

Elsewhere in the code, I need to instantiate one of these objects, like so:

SomeObject myObject = new SomeObject{
                                     red = "some value", 
                                     blue = "some other value",
                                     . . .,
                                     black="last value"
                                    };

*NOTE:*I will sometimes want to initialize this object with only a subset of its total possible properties (i.e. just red and blue).

At the moment, I am having to type in each property (red, blue, green, etc) for each new instance of SomeObject. Is there a hotkey or something in VS2010 to have those properties pre-populated so I just have to assign values to each rather than typing each one?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use Smart Code Completion.

Write: new SomeObject{

Then press Ctrl+Alt+Space: -> All possible properties are listed in a tooltip window

Then select a property (i.e. 'Red') and press ENTER -> new SomeObject{Red = }

Then type in "," and press again Ctrl+Alt+Space, select next property and so on.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...