Here I wrote on the Framework, and not on the language, as noted below in the comments. Just suddenly the evangelists from Microsoft will read us, and this will be corrected / added in the platform itself.
1. Add logic inside the methods of getting all files and folders inside the folder, because the user does not have access to part of the folders / files, and errors occur (it takes time to try / catch) or add a verification method.
If so, write to 100% of users of Vista and some of the others will have an error, due to the fact that the "Windows" protects its folders.
Accordingly, it is necessary to write a recursive algorithm with access checking, but there is a “plug” here, because we will spend resources on checking access for each new folder, and if we put it just in a call:
try {// get files from directory} catch {// well, and FIG with protected folders}
then we will spend resources on exception handling well times 4-5.
Well, this is a case of receiving all files and folders, and sometimes you really need to check the user's rights to the folder, and this is not quite easy, especially when the rights to the folder belong to the group, and the “user” enters it.
And there will be gardens, ranging from LDAP to WMI checks, and in fact it could be like this:
public void WriteFile (DirectoryInfo directoryInfo, string FilePath, string Text) { if (directoryInfo.WeCanView) { using (StreamWriter sw = new StreamWriter (FilePath)) { sw.Write (Text); } } }
Instead of checking manually through an ACL (the beginning is something like this: directoryInfo.GetAccessControl (AccessControlSections.Owner)), which will take up to 20 lines.
2. PNG compression, but it does not work.
3. Remove the “joke” when you need to save JPG with the quality of 75% every time, for if 100%, then there is no effect, and the file size grows.
4. In WinForms (in WPF I did not try) the ability to work an object on a form (control) in another thread.
5. This refers to Visual Studio, but I will write: Designer WCF configuration. Give! - habrachelovek showed that it turns out to be there, but I did not even notice, thanks * mbakirov
1. Improved support for IronPython, IronRuby (it will be easier to use "their" classes)
Support for the dynamic realm will be introduced:
static void Main ( string [] args) { dynamic { object MyNewDynamicObject = LookUpAndGetDynamicObject (); MyNewDynamicObject.CallSomeMethod (); // call the method MyNewDynamicObject.GetSomeString = "value" ; // set the field MyNewDynamicObject [5] = 25; // set the data to the collection } }
2. Add some of the functional languages
3. Add new features or facilitate existing ones. simultaneous access and parallelization of operations.
4. Fill up the arsenal of C # tools from dynamic programming languages.
Maybe I could not find all the information about what programmers want, write if you did not find your "option" would be very interesting.
Pps
Topic name was changed from "What awaits us in C # 4.0" on "What do we expect from C # 4.0", because it is quite a bit you can write about what is really coming :)
Pps
Accidentally missed and did not add a “pre-conclusion”, it goes after the green line.