New BCL features in Beta1
[Ahmed AbouTaleb]
Here is a list of all the new BCL features that shipped in Visual studio 2005 Beta1
Regular Expressions
We added the ability to use character class subtraction to regular expressions. The specification is publicly available here.
Compression Support
We have added the ability to compress, and decompress streams using the standard GZip and Deflate formats. Check the System.IO.Compression namespace for the classes you need to leverage this functionality.
ACLs support
We have now exposed the ability to manipulate and manage ACLs from managed code. The basic support is available in the security space, while specific support for various object types is available via the classes that expose the ACL, such as FileStream, or RegistryKey.
DateTime Changes
In order to better enable users to pass DateTime’s around and know the style of the DateTime, the DateTime class now exposes a ‘Kind’ property (and a SpecifyKind method), which uses a DateTimeKind enum to let you know if the DateTime is a local, universal, or unknown (the current behavior) DateTime.
Math Rounding
We’ve expanded the rounding capabilitites on the Math, and Decimal classes.
Nullable
We’ve added a new class, which can be used to add the null concept to structs.
SecureString
We have a new class which allows someone to avoid putting confidential data into a String type.
Debugger Display Attributes
We have a variety of new attributes you can decorate your code with, so that they are more useful, and have better information when viewed in a debugger.
Various System Work
We’ve added a variety of small features to System classes, such as the ability to set environment variables (via the Environment class), some new generic classes such as EventHandler<T> and ArraySegment<T>, new methods on String (new overloads for Split, EndsWith, and BeginsWith are some examples), and additional information available on the OSVersion (from Environment).
UnmanagedMemoryStream
We’ve added a new stream to be able to access memory from an unmanaged source.
Base Collections
System.Collections namespace now contains collections intended for scenarios where a collection needs to be exposed from an object model. For example Directory.Files property returning a collection of files in a directory. The collections are called Collection<T>, ReadOnlyCollection<T>, and KeyedCollection<K,T>.
Delegate Based Members on List<T> and Array.
A good description of the feature can be found at https://blogs.msdn.com/kcwalina/archive/2004/06/22/162533.aspx
LinkedList
See System.Collections.Generic.LinkedList<T>
Resources
- Strongly Typed Resources which enables the developers to access resources easily without the need to remember the resources IDs.
- ResourceManager.GetStream a method to enhance the performance of resources retrieval if they are stored as memory stream.
Diagnostics
- New tracing infrastructure to enable developers to better instrument their apps with new classes like TraceSource and SourceSwitch and new listeners like XmlTraceListener and DelimitedListTraceListener.
- Create process as a user in the process class.
Threading
- Semaphore class which was a missing functionality in the framework.
- Named Events to enhance the cross-process communication.
- Abandoned mutex detection.
Comments
- Anonymous
July 29, 2004
How about support for memory mapped files?
Although it is not that difficult to build yourself :) - Anonymous
July 29, 2004
Peter, that's certainly on our list of things to do in a near-future implementation. Probably not the next version of VS, but hopefully soon thereafter! - Anonymous
July 30, 2004
The comment has been removed - Anonymous
July 30, 2004
Yes.... thank you thank you thank you for the ACL support. - Anonymous
July 30, 2004
ACLs is certainly one of those areas that would love any feedback on as well, so let us know if there's anything missing that you expected to be there! - Anonymous
August 01, 2004
Before proceeding further, let me congratulate you folks for the excellent work in System.Security.Crytography!!!
Here's a bug that I think you folks should address:
For some reason, X509CertificateEx.Export() does not allow the option to export the entire certificate trust chain. This is a surprising omission considering that the X509IncludeOption parameter is available on classes like CmsSigner. Note that the absence of the entire trust chain is especially annoying when you are trying to generate x509/.pfx/pkcs12 files from X509Certificate because the user needs to import the trust chain separately after installing the exported file.
This has already been submitted as bug #FDBK12912 on the Beta feedback site, but I wanted to make sure it gets noticed :)...
Atul - Anonymous
August 02, 2004
Thanks Atul for the feedback. X509CertificateEx.Export only exports the certificate itself and does not build the certificate chain. It is however possible to export the whole certificate chain with the set of APIs available today: what you could do is build a chain using X509Chain.Build; then get the certificates in the chain by accessing X509Chain.ChainElements. Once you get the collection you want exports, you can call X509CertificateExCollection.Export: this method is the way to go if you need to export more than one certificate.
Thanks,
Tarik - Anonymous
August 02, 2004
Ah hah -- thanks for the clarification. I looked X509Chain but didn't make the association with X509CertificateExCollection.Export. I will give it a try...
Atul - Anonymous
August 03, 2004
Excellent -- that worked like a charm!!!
Atul - Anonymous
April 21, 2009
PingBack from http://64.85.11.8/wordpress_waltritscher/index.php/2004/07/31/net-20-whats-new-in-the-base-class-libraries/