471,089 Members | 1,802 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

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

my list of wanted features in .NET

Here is a list of features I've wanted in .NET as pulled from my lab
notebook. If some of them are already there, maybe somebody could point
them out to me. If you have an opinion positive or negative on any, I'd
like to hear it. Thanks. They are in no particular order

1. GDI+::Graphics -draw a super ellipse
2. Add an attribute(s) similar to Obsolete for marking Dangerous,
Advanced, or requiring Prerequisites on functions.
3. Add functions for Priority to PropertyInfo
4. Add more complex post-build event handling for multi-project
coordination
5. Have a built in collection that represents a sparse 2d array.
6. Add some basic generics for tuples of 2,3,4; I end up way overusing
the KeyValuePair
7. GDI+::Graphics -Add an angle parameter overload to the draw/fill
functions that so that I don't have to call translate and rotate when I
want that functionality.
8. Add an IDE option to find all inheritors (actually, there is a lot
of Resharper functionality that would be nice to have built in but if
you could steal just a few of the searches...)
9. Add an IDE option to sync the current file to the solution and class
views (my projects have thousands of files in them)
10. Make the custom drawn trees and properties easier (I don't know
what specifics to add for this other than they are a bit of a pain
currently; I needed a tree that had dual selection: the leaf and the
current root node; that was a royal pain and I never could get double
buffering on it)
11. Add an editable ListView
12. Add intersection functions for generic collections
13. GDI+::Graphics -Point, Rectangle should have operator overloads
for add/subtract/etc.
14. GDI+::Graphics -LinearGradient should handle negative values in
width, height
15. I need an "is namespace" functionality
16. ICloneable should be a generic
17. I need a "where is primitive"
18. I think a "where is List<>" (aka unspecified type) could be useful
19. PropertyValueChanged event should have a way to revert the value
20. Add directory support to the GZIP stuff
21. IDE search of other property references on the same object
22. Fix the double buffering on transparent controls
23. Add some way to specify multiple namespaces for a single object
declaration
24. GDI+::Graphics -There should be a way to build a Region from a
(alpha) bitmask
25. GDI+::Graphics -Add a way to inflate a closed graphics path

Jan 5 '07 #1
10 1127
>2. Add an attribute(s) similar to Obsolete for marking Dangerous,
>Advanced, or requiring Prerequisites on functions.
Well there's the EditorBrowsable attribute for hiding "advanced"
members in the IDE.
>3. Add functions for Priority to PropertyInfo
And what would be the meaning of the priority of a property?
>4. Add more complex post-build event handling for multi-project
coordination
MSBuild is very extensible.
>11. Add an editable ListView
Isn't the existing ListView editable?
>15. I need an "is namespace" functionality
Where? In the IDE, class libraries or in a language? What would the
feature do?
>16. ICloneable should be a generic
That doesn't solve the bigger problem of not defining whether to
perform a deep or shallow clone.
>17. I need a "where is primitive"
You mean to determine if a type is primitive? There's Type.IsPrimitive
if that's what you're looking for.
>18. I think a "where is List<>" (aka unspecified type) could be useful
You can do that with reflection.
>21. IDE search of other property references on the same object
I don't understand what you mean by this.
>23. Add some way to specify multiple namespaces for a single object
declaration
Not sure what you mean here either.
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Jan 5 '07 #2
Also, VS.Net currently (and at least as far back as 2002) has an option
called "Track Active Item in Solution Explorer" that performs the file part
of #9 (although it does not highlight the current class; in fact, VS's Class
View is something I find only useful insofar as it shows me when I've
misnamed some namespaces, so I never even need to track by class)
Jan 5 '07 #3
3. Add functions for Priority to PropertyInfo
And what would be the meaning of the priority of a property?
As it was a few months back I wrote that down, I'm not sure I remember
the issue entirely. I basically wanted a clean way to handle multiple
attributes of the same type where only one was expected.
GetCustomAttributes returns all of a given type. I just use the first
one it returns. Is that common?
4. Add more complex post-build event handling for multi-project
coordination
MSBuild is very extensible.
I confess that I want Nant functionality built-in. Handling the
dependencies for my post-build nant script is a pain and making it run
always (which I currently do) slows things down.
11. Add an editable ListView
Isn't the existing ListView editable?
I think I meant text-editing in the cells.
15. I need an "is namespace" functionality
Where? In the IDE, class libraries or in a language? What would the
feature do?
I want a runtime operator that tells me if an object is in a namespace.
The function would be similar to the IsInheritableFrom function.
16. ICloneable should be a generic
That doesn't solve the bigger problem of not defining whether to
perform a deep or shallow clone.
True. Tack those onto the list.
17. I need a "where is primitive"
You mean to determine if a type is primitive? There's Type.IsPrimitive
if that's what you're looking for.
By "where" I mean the C# keyword "where". Type.IsPrimitive doesn't help
me with restricting my generics.
18. I think a "where is List<>" (aka unspecified type) could be useful
You can do that with reflection.
By "where" I mean the C# keyword "where". I guess it is rare that you
insist something be inherited from or an instance of List<rather than
IList, but maybe that would be useful. Actually, maybe it would be
useful to force that a generic be an inheritor in general.
21. IDE search of other property references on the same object
I don't understand what you mean by this.
The FindReferences function in the IDE can be called on a private
member's function reference, but not limited to references of that
private member.
23. Add some way to specify multiple namespaces for a single object
declaration
Not sure what you mean here either.
namespace bob, larry {
class blah {}
}

Elsewhere you would (possibly) need to specify the full namespace to
avoid ambiguous reference. I think it would be useful for refactoring
projects that are referenced in multiple solutions.

Jan 5 '07 #4
1. What's special about the Super ellipse? If its quality, then you can
specify that now, defaults to Low..
2. You can make you own attributes and check for them.
3. ?
4. I can probably be done now, but some things could be simpler I agree..
5. Ok, could build one but is nice if there is a standard.
10. Third party is probably the way to go here.
13. Agree.
19. Agree.
21. Agree. I usually rename the object and look at the error list.
23. Gray area, Why not make a separate namespace and have them all ref the
new namespace?
24. I think this is possible. Try the Drawing newsgroup.

"not_a_commie" <no********@gmail.comwrote in message
news:11**********************@51g2000cwl.googlegro ups.com...
Here is a list of features I've wanted in .NET as pulled from my lab
notebook. If some of them are already there, maybe somebody could point
them out to me. If you have an opinion positive or negative on any, I'd
like to hear it. Thanks. They are in no particular order

1. GDI+::Graphics -draw a super ellipse
2. Add an attribute(s) similar to Obsolete for marking Dangerous,
Advanced, or requiring Prerequisites on functions.
3. Add functions for Priority to PropertyInfo
4. Add more complex post-build event handling for multi-project
coordination
5. Have a built in collection that represents a sparse 2d array.
6. Add some basic generics for tuples of 2,3,4; I end up way overusing
the KeyValuePair
7. GDI+::Graphics -Add an angle parameter overload to the draw/fill
functions that so that I don't have to call translate and rotate when I
want that functionality.
8. Add an IDE option to find all inheritors (actually, there is a lot
of Resharper functionality that would be nice to have built in but if
you could steal just a few of the searches...)
9. Add an IDE option to sync the current file to the solution and class
views (my projects have thousands of files in them)
10. Make the custom drawn trees and properties easier (I don't know
what specifics to add for this other than they are a bit of a pain
currently; I needed a tree that had dual selection: the leaf and the
current root node; that was a royal pain and I never could get double
buffering on it)
11. Add an editable ListView
12. Add intersection functions for generic collections
13. GDI+::Graphics -Point, Rectangle should have operator overloads
for add/subtract/etc.
14. GDI+::Graphics -LinearGradient should handle negative values in
width, height
15. I need an "is namespace" functionality
16. ICloneable should be a generic
17. I need a "where is primitive"
18. I think a "where is List<>" (aka unspecified type) could be useful
19. PropertyValueChanged event should have a way to revert the value
20. Add directory support to the GZIP stuff
21. IDE search of other property references on the same object
22. Fix the double buffering on transparent controls
23. Add some way to specify multiple namespaces for a single object
declaration
24. GDI+::Graphics -There should be a way to build a Region from a
(alpha) bitmask
25. GDI+::Graphics -Add a way to inflate a closed graphics path

Jan 5 '07 #5
11. I usualy use a grid here.
15. Reflection will do this.
23. You can have a namespace as such: MarcoSoft.Products.XControl
"not_a_commie" <no********@gmail.comwrote in message
news:11**********************@11g2000cwr.googlegro ups.com...
>3. Add functions for Priority to PropertyInfo
And what would be the meaning of the priority of a property?

As it was a few months back I wrote that down, I'm not sure I remember
the issue entirely. I basically wanted a clean way to handle multiple
attributes of the same type where only one was expected.
GetCustomAttributes returns all of a given type. I just use the first
one it returns. Is that common?
>4. Add more complex post-build event handling for multi-project
coordination
MSBuild is very extensible.
I confess that I want Nant functionality built-in. Handling the
dependencies for my post-build nant script is a pain and making it run
always (which I currently do) slows things down.
>11. Add an editable ListView
Isn't the existing ListView editable?
I think I meant text-editing in the cells.
>15. I need an "is namespace" functionality
Where? In the IDE, class libraries or in a language? What would the
feature do?
I want a runtime operator that tells me if an object is in a namespace.
The function would be similar to the IsInheritableFrom function.
>16. ICloneable should be a generic
That doesn't solve the bigger problem of not defining whether to
perform a deep or shallow clone.
True. Tack those onto the list.
>17. I need a "where is primitive"
You mean to determine if a type is primitive? There's Type.IsPrimitive
if that's what you're looking for.
By "where" I mean the C# keyword "where". Type.IsPrimitive doesn't help
me with restricting my generics.
>18. I think a "where is List<>" (aka unspecified type) could be useful
You can do that with reflection.
By "where" I mean the C# keyword "where". I guess it is rare that you
insist something be inherited from or an instance of List<rather than
IList, but maybe that would be useful. Actually, maybe it would be
useful to force that a generic be an inheritor in general.
>21. IDE search of other property references on the same object
I don't understand what you mean by this.
The FindReferences function in the IDE can be called on a private
member's function reference, but not limited to references of that
private member.
>23. Add some way to specify multiple namespaces for a single object
declaration
Not sure what you mean here either.
namespace bob, larry {
class blah {}
}

Elsewhere you would (possibly) need to specify the full namespace to
avoid ambiguous reference. I think it would be useful for refactoring
projects that are referenced in multiple solutions.

Jan 5 '07 #6
1. What's special about the Super ellipse? If its quality, then you can
specify that now, defaults to Low..
Super ellipses and rectangles with rounded corners are useful in
drawing flow chart-type graphs.
4. I can probably be done now, but some things could be simpler I agree..
5. Ok, could build one but is nice if there is a standard.
24. I think this is possible. Try the Drawing newsgroup.
I think a lot of these things can be done now. I just think they could
be easier.
10. Third party is probably the way to go here.
Know any third-party root-and-leaf select tree views?
13. Agree.
19. Agree.
21. Agree. I usually rename the object and look at the error list.
23. Gray area, Why not make a separate namespace and have them all ref the
new namespace?
I don't want to break old solutions that rely on a specific namespace.

Jan 5 '07 #7

Keith Patrick wrote:
Also, VS.Net currently (and at least as far back as 2002) has an option
called "Track Active Item in Solution Explorer" that performs the file part
of #9
Thanks! I feel better about life already.

Class View is something I find only useful insofar as it shows me when I've
misnamed some namespaces, so I never even need to track by class)
Class view is quite useful for COM objects, but I usually don't use it
otherwise.

Jan 5 '07 #8
>3. Add functions for Priority to PropertyInfo
>And what would be the meaning of the priority of a property?

As it was a few months back I wrote that down, I'm not sure I remember
the issue entirely. I basically wanted a clean way to handle multiple
attributes of the same type where only one was expected.
GetCustomAttributes returns all of a given type. I just use the first
one it returns. Is that common?
If it's your attribute, set the AttributeUsage to be AllowMultiple=false.
That's the most common solution. The other one is to break out of your
foreach after the first iteration.
>
>11. Add an editable ListView
Isn't the existing ListView editable?
I think I meant text-editing in the cells.
..Net 3.0 (Windows Presentation Foundation) can do this (it's styling
features are obscenely flexible)
>
>15. I need an "is namespace" functionality
Where? In the IDE, class libraries or in a language? What would the
feature do?
I want a runtime operator that tells me if an object is in a namespace.
The function would be similar to the IsInheritableFrom function.
How about: myObj.GetType().FullName.Equals(String.Format("{0} .{1}",
myTestNameSpace, myObj.GetType().Name)) ? Not easy-to-read, but it should
do in a jam until MS comes out with the equivalent to String.IsNullOrEmpty()

>23. Add some way to specify multiple namespaces for a single object
declaration
Not sure what you mean here either.
namespace bob, larry {
class blah {}
}
I'm going to get all philosophical and say "since OO mimics the real world,
and the Pauli exclusion principle says that two objects cannot occupy the
same space (and vice versa), that shouldn't be possible." However, throwing
that aside, what is it you want to achieve by doing that (I'm not seeing the
refactoring benefit). You *may* want to check out the "using" statement
(for aliasing namespaces, not referencing them) to see if that gets you what
you're looking for

Jan 5 '07 #9
2. Add an attribute(s) similar to Obsolete for marking Dangerous,
Advanced, or requiring Prerequisites on functions.

Well there's the EditorBrowsable attribute for hiding "advanced"
members in the IDE.
Thanks for the information on EditorBrowsable. That is what I wanted
with the Advanced type. I still think MS should expand that list to
include Dangerous, NeedsUIThread, and others.

Jan 8 '07 #10
not_a_commie wrote:
9. Add an IDE option to sync the current file to the solution and class
views (my projects have thousands of files in them)
Tools Options Projects and Solutions General Track Active Item
in Solution Explorer
24. GDI+::Graphics -There should be a way to build a Region from a
(alpha) bitmask
http://www.bobpowell.net/region_from_bitmap.htm

Jan 8 '07 #11

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

11 posts views Thread by Nicolas Girard | last post: by
10 posts views Thread by bearophile | last post: by
35 posts views Thread by erikwickstrom | last post: by
reply views Thread by shapper | last post: by
9 posts views Thread by Sheldon | last post: by
reply views Thread by jappenzeller | last post: by
6 posts views Thread by Steve | last post: by
5 posts views Thread by JS | last post: by

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.