473,396 Members | 1,767 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

CodeDom question for .net 2.0

I am using the CodeDom namespace for generating classes, and would
really like to be able to use the CodeRegionDirective class to generate
regions around code blocks.

The only problem is that is looks like i can generate regions around a
single method or a single statement (using StartDirective) property, is
there any way to out a code region around a collection of statements, or
methods ?

any help would be appreciated..

TIA
Dec 14 '05 #1
7 2653
Ashish,

From what I can tell, you need to place two CodeRegionDirectives in your
code, one for the start, and one for the end. So, you find the method where
you want to place the region start, and add the CodeRegionDirective to the
StartDirectives collection.

You then go to the other element of code where you want to place the
region end, and then add the CodeRegionDirective to the EndDirectives
collection.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Ashish" <as*****@thisisjunk.com> wrote in message
news:OZ**************@TK2MSFTNGP14.phx.gbl...
I am using the CodeDom namespace for generating classes, and would really
like to be able to use the CodeRegionDirective class to generate regions
around code blocks.

The only problem is that is looks like i can generate regions around a
single method or a single statement (using StartDirective) property, is
there any way to out a code region around a collection of statements, or
methods ?

any help would be appreciated..

TIA

Dec 14 '05 #2
Nicholas,

Thanks for the answer,
here is the code fargment ...

CodeTypeDeclaration ctd = new CodeTypeDeclaration();

ctd.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start,
"members"));
ctd.Members.AddRange(this.GetMemberFields());
ctd.StartDirectives.Add(new
CodeRegionDirective(CodeRegionMode.End,string.Empt y));
but code generated by GetMemberFields is not places in the output :(

Thanks



Nicholas Paldino [.NET/C# MVP] wrote:
Ashish,

From what I can tell, you need to place two CodeRegionDirectives in your
code, one for the start, and one for the end. So, you find the method where
you want to place the region start, and add the CodeRegionDirective to the
StartDirectives collection.

You then go to the other element of code where you want to place the
region end, and then add the CodeRegionDirective to the EndDirectives
collection.

Hope this helps.

Dec 14 '05 #3
Ashish,

Add the last CodeRegionDirective to the EndDirectives.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Ashish" <as*****@thisisjunk.com> wrote in message
news:uY**************@TK2MSFTNGP11.phx.gbl...
Nicholas,

Thanks for the answer,
here is the code fargment ...

CodeTypeDeclaration ctd = new CodeTypeDeclaration();

ctd.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start,
"members"));
ctd.Members.AddRange(this.GetMemberFields());
ctd.StartDirectives.Add(new
CodeRegionDirective(CodeRegionMode.End,string.Empt y));
but code generated by GetMemberFields is not places in the output :(

Thanks



Nicholas Paldino [.NET/C# MVP] wrote:
Ashish,

From what I can tell, you need to place two CodeRegionDirectives in
your code, one for the start, and one for the end. So, you find the
method where you want to place the region start, and add the
CodeRegionDirective to the StartDirectives collection.

You then go to the other element of code where you want to place the
region end, and then add the CodeRegionDirective to the EndDirectives
collection.

Hope this helps.


Dec 14 '05 #4
Nicholas

thanks for pointing that out

i did that, but it adds the regions at the start of the whole class code
instead of just the members :(

for example the generated code looks like

#region members
public clas blah
{
// this is where i want it to start
private int mUId;
.......


}

#endregion

, any other clues ?

Nicholas Paldino [.NET/C# MVP] wrote:
Ashish,

Add the last CodeRegionDirective to the EndDirectives.

Dec 14 '05 #5
Ashish,

The CodeMemberField class has StartDirectives and EndDirectives
properties which you can attach code directives to. Why not just attach
them to the one that corresponds to the mUId field?
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Ashish" <as*****@thisisjunk.com> wrote in message
news:ul**************@TK2MSFTNGP15.phx.gbl...
Nicholas

thanks for pointing that out

i did that, but it adds the regions at the start of the whole class code
instead of just the members :(

for example the generated code looks like

#region members
public clas blah
{
// this is where i want it to start
private int mUId;
......


}

#endregion

, any other clues ?

Nicholas Paldino [.NET/C# MVP] wrote:
Ashish,

Add the last CodeRegionDirective to the EndDirectives.


Dec 14 '05 #6
Nicholas,

well that would surround each member declaration with a region, and i
want to all the member declarations under one region, or there would be
too many regions to deal with .... , seems like this should be do able..

thanks

Nicholas Paldino [.NET/C# MVP] wrote:
Ashish,

The CodeMemberField class has StartDirectives and EndDirectives
properties which you can attach code directives to. Why not just attach
them to the one that corresponds to the mUId field?

Dec 14 '05 #7
Ashish,

Right, so on the first member in the region, add the directive to the
StartDirectives. In the last member in the region, add the directive to the
EndDirectives.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Ashish" <as*****@thisisjunk.com> wrote in message
news:uX**************@TK2MSFTNGP14.phx.gbl...
Nicholas,

well that would surround each member declaration with a region, and i want
to all the member declarations under one region, or there would be too
many regions to deal with .... , seems like this should be do able..

thanks

Nicholas Paldino [.NET/C# MVP] wrote:
Ashish,

The CodeMemberField class has StartDirectives and EndDirectives
properties which you can attach code directives to. Why not just attach
them to the one that corresponds to the mUId field?


Dec 15 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Ron Bullman | last post by:
Hi, I havent been able to find any documentation about @ in the CodeDom context. The problem is when generating C# code from CodeDom it will associate a @-tag with all C# specific types. Why?...
2
by: Guillaume | last post by:
I don't think I'm the only one with this challenge so… I made code with the CodeDom classes and made code to create a new solution and a new project Now I want to get the codedom code in the new...
1
by: John Livermore | last post by:
Hello, We have an application that uses CodeDom for dynamic in-memory compilation of code. The same code (library) is used by both an ASP.net web site and a Windows Service. The code runs fine...
3
by: Alexey Lavnikov | last post by:
I'm playing with CodeDOM and CSharpCodeProvider. I've found the following possibilities: CodeDOM -> Assembly C# Source code -> Assembly I miss the C# Source code -> CodeDOM only. Is it there?...
9
by: lee.chappers | last post by:
How can I make the CodeDom generate the following C# method? protected sealed override void Test() { } I've tried using: domMethod.Attributes = MemberAttributes.Override |...
6
by: moondaddy | last post by:
will CodeDom create XAML windows or just regular windows forms? If so, how to I tell it to create a xaml window instead of a windows form? thanks -- moondaddy@noemail.noemail
2
by: CodeMonkey775 | last post by:
I'm having problems passing a variable to a method which is executed and compiled using CodeDom. The situation is I have a List<CellData> with cells, each containing a formula (like Excel). I am...
1
by: =?Utf-8?B?QU1lcmNlcg==?= | last post by:
I may have painted myself into a corner with GenerateInMemory=true. My app need a custom user step. Users want to code (sort of - they are not programmers) some refinements to a search...
0
by: thisismykindabyte | last post by:
Hello, I was wondering if anyone might know the easiest way to access static methods through a namespace(MyNamespace) from CodeDom generated code? Basically I have this in my...
1
by: thisismykindabyte | last post by:
Hello, I was wondering if anyone could tell me how I can pass a reference of an object(lets pretend a MemoryStream) to CodeDom's generated code in memory? So basically I would like to create...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.