|
You need to apply the DesignerSerializationVisibilty attribute i think
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
|
The specs for C# 2.0 are now available on MSDN at
http://msdn.microsoft.com/vcsharp/team/language/default.aspx
There is a discussion forum for the language on the same page.
Eric Gunnerson
Visual C# Compiler PM
|
|
|
|
|
Good...
C# Rules !!!
Free your mind...
|
|
|
|
|
At this point I like the partial classes and generics the most.
I am sorry to say but I found the anonymous methods kinda Java'ish.. Maybe I'm going to like them later on, when we get to use this stuff
The iterators i BIG fun, you could make a random sequence of numbers so you almost never know what item is returned by the foreach loop
I am looking forward to the new visual studio .net 2004, I hope it makes development even easier than it already is.
Good luck Eric!
Greetings....
|
|
|
|
|
I think the anonymous delegates are somewhat a matter of taste, and should be used wisely ("If swelling persists, contact a professional programming practitioner immediately"...)
There is the opportunity to make your code much more ugly, but there are also cases where you can make it much more local. If you want to be able to have a named iterator that can take some code, or you want to specify the MatchEvaluator for a Regex.Replace(), you can make your code more understandable (probably...) with an anonymous delegate.
But I don't view them as a replacement for standard delegates.
|
|
|
|
|
The improved locality is a win from a syntax and encapsulation perspective, but must more important to me is the fact that anonymous delegates have closures semantics. This opens up new programming idioms that are just not reasonable otherwise. Yay!!
On the other hand, I pouted to see that 'yield' was specialized for iterators and not generalized into support for arbitrary coroutines. Then I winced a bit a 'yield return' replacing just 'yield'. I'd rather a little pain now with a new keyword/breaking change than an ugly syntax forever after.
-Blake
|
|
|
|
|
|
I should have noted that if you don't have Word, you can download the Word Viewer from:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9BBB9E60-E4F3-436D-A5A7-DA0E5431E5C1&displaylang=EN
|
|
|
|
|
Good stuff.
Partial classes - *cringes*
Anonymous methods - useful but dangerous
Iterators - cool
Generics - SWEET!
I was just thinking a couple of days ago how useful something like Generics would be. I'm still asking Santa Claus for default parameter specifiers though.
Paul
|
|
|
|
|
They should have added something like this too:
bool MyClass.MyMethod(string hello)<br />
{<br />
return hello == "hello";<br />
}
at namespace level. This would allow u to group methods in logical groups and overcome some difficult design problems.
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
leppie,
You are a sick, sick individual.
Paul
|
|
|
|
|
Com to think of it, mate, isn't this one thing that partial classes can be used for?
ie. rather than:
bool MyClass.MyMethod(string hello)
{
return hello == "hello";
} do
public partial class MyClass
{
bool MyMethod(string hello)
{
return hello == "hello";
}
} I'm really not sure I think this is a good idea, but it should be possible if there's an extremely good reason for it.
Paul
|
|
|
|
|
Paul Riley wrote:
I'm really not sure I think this is a good idea,
I hate typing!
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
leppie wrote:
I hate typing!
Good. Maybe that'll discourage you from breaking up classes across multiple files.
Not that you actually have to type in VS.NET, it'll probably do it all for you.
P
Paul
|
|
|
|
|
Why do partial classes make you cringe? I don't use generated code much, or at least not where it should be mixed with handwritten code, but it seems a big win for the majority who like code generating tools like form designers.
*chuckles* As to anonymous methods being dangerous... mmm, but isn't that half the fun?
-Blake
|
|
|
|
|
Blake Coverett wrote:
mmm, but isn't that half the fun?
Yeah, in some respects. I just worry about what some programmers I've had the misfortune to come across could do with such things available to them.
Entire hunks of code in initialization routines, just because they can't be bothered to learn how to write a delegate; and classes broken down into hideous numbers of files so that you can never find anything (imagine a project full of controls where all the rendering is done in one file, all the keypress handling in another file, etc - some developers would actually find that logical).
For anonymous methods, I could at least see a purpose. I couldn't for partial classes but then I very rarely use generated code, so that never crossed my mind. Now I suppose I have to cringe equally at both.
Paul
|
|
|
|
|
Anonymous classes, cool! I always loved anonymous event handlers in Java.
But they have not fixed that break; stuff in the switch blocks. Fall-through or not, there's no reason for typing the same word under every case block.
|
|
|
|
|
Ah but that would surely be a break ing change - think of all the sad programmers.
-Blake
|
|
|
|
|
I am currently (again) updating a database application that I wrote last summer. I need to add a new feature....
This brought one big question to me: Is there now way of making my database loading smarter??? Like loading it all once in one place and link all things to that one place??
Well, here it is the question: Anyone having any idea if it is possible to load the database once and use it anywhere in the application? This should reduce the amount of memory needed by the application to run. Since information like "members" and so on will only be in memory in one place instead of the six places at this very moment.
(I ran out of virtual memory, and that's a bad thing )
Greetings....
|
|
|
|
|
The tradeoff really depends on what you're doing. If you're going to be touching all the data often, loading it all in can be good. If you only touch a fraction of the data, then loading it is probably bad.
You may want to look at your database structure to see if you can make it more effective.
|
|
|
|
|
The data in the database is used very often and is mostly combined in one view.
My idea is to make a class the holds all the methods for editing and viewing the data
in the database. Then I need to make one static instance in the main class of my program, so I can access it from all the other forms and classes.
I use DataAdapters and DataSets to display all the data, I guess there's no other way than loading the whole table that's managed with the dataAdapter.
Maybe someone does have another idea for loading the data?
Greetings....
|
|
|
|
|
I've used the approach that you're thinking of with some reasonable success (but remember that I'm a Microsoft PM, and therefore, by definition, never write any *real code). Having it central has made things quite a bit easier, and allowed me to centralize things like caching.
My personal preference is not to use DataAdapters and DataSets when I take this approach, and write routines that look like:
public List<t> GetValues<t> (string selectStatement)
{
OleDbCommand select = new OleDbCommand (selectStatement, connection);
List<t> list = new List<t> ();
OleDbDataReader reader = select.ExecuteReader ();
while (reader.Read ())
{
list.Add ((T)reader[0]);
}
return list;
}
This is a version using Whidbey generics, but you get the idea. For me, this is much simpler to code and understand than using the built-in data support in VS. Of course, I spent 3 years working for a database company (SQL is my friend...), so your mileage may vary.
|
|
|
|
|
That's a good solution for reading only those values you need
I think I'm going to use that one instead of the large amounts of dataAdapters.
Greetings....
|
|
|
|
|
I want to create a setup project for my application.I add a installer class to do some custom actionns after install.(Add my application to ngen.exe),so I need the path of my installed application.How can I get it in installer class.Any idea?
Mazy
No sig. available now.
|
|
|
|