473,377 Members | 1,119 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,377 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 1209
>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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: Nicolas Girard | last post by:
Hi, Forgive me if the answer is trivial, but could you tell me how to achieve the following: {k1:,k2:v3,...} --> ,,,...] The subtle point (at least to me) is to "flatten" values that are...
10
by: bearophile | last post by:
This is my first Python program (it's an improvement of a recursive version by Luther Blissett). Given a list like this: , ]]] It produces the "flatted" version: I think this operation is...
35
by: erikwickstrom | last post by:
Hi all, I'm sorry about the newbie question, but I've been searching all afternoon and can't find the answer! I'm trying to get this bit of code to work without triggering the IndexError. ...
8
by: per9000 | last post by:
Hi, I wanted to test to compile an application I build for .NET 2.0 in with the 1.1 C# compiler. I encountered difficulties since I had a List<myClass>. I found a list of what is new in .NET 2.0...
0
by: shapper | last post by:
Hello, I have an enum as follows: Public Enum Feature Title Content Date Search End
9
by: Sheldon | last post by:
Hi, I am trying to understand linked lists and the different ways to write a linked list and double linked list. I have been trying to get this function called insert_word to work but to no...
0
by: jappenzeller | last post by:
I've got a coding standard question for generic lists and .NET 2.0. I have created some custom strongly typed lists like, MyClassList:List<MyClass>. We did this because we wanted to reuse some...
6
by: Steve | last post by:
Hello all: I am working on a project that has two list boxes side-by-side on a form. What I want to happen is when a user clicks on an item in the list box on the left, the list box on the...
5
by: JS | last post by:
There are 2 features that I keep wishing C# had. These are not groundbreaking ideas, and I haven't given these too much thought, but I wonder if others have also wanted these types of language...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
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
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...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
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...

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.