Hi Jeff,
Sounds like great progress; I will try to get to the pull requests this
week.
I doubt anyone wants to have generics available more than me, but I am
determined to release one more version with .NET 1.1 compatibility, so
please bear with me on that. Likewise I'm somewhat resistant to fiddling
with the build system until that release happens, but we'll see. In
general, it just makes my job more difficult to bundle together patches
for different purposes.
On the other hand, since that next release is "imminent" (I confess it
has been so for some time), you could happily use generics in your own
code in anticipation of committing it once we move to .NET 2.0.
Regards,
Pete Dettman
On 30/10/2013 4:52 AM, Jeff Stedfast wrote:
Hi Peter,
I've dived into the BouncyCastle code and submitted some pull requests
to get it building in Visual Studio 2010, 2012, and 2013 and setup the
NUnit tests to be compiled as a separate project so that those, like
myself, who want to build the BouncyCastle assembly from Visual Studio
(or MonoDevelop) can do so instead of having to do it via NAnt.
I was hoping you could merge my commits.
I'd also like to volunteer to start refactoring the code to take
advantage of generics a bit as it would really aid in API discovery.
I've come across a number of IEnumerable interfaces where I had no
idea what object type to expect until reading through the source code.
By using IEnumerable<SomeType>, it would make that much more obvious
and code completion could do all the work for me ;-)
I'd be happy to do a lot of this refactoring work, but before I begin,
I'd like to know if this is something you'd accept - I'd prefer not to
waste a bunch of my time if it's not something you'd be interested in.
Oh, btw, already I've managed to mostly get PGP/MIME working using
Bouncy Castle in my MimeKit library - there's a few issues left and I
need to write up some more format unit tests, but it mostly works at
this point. Next, I'll be rewriting my S/MIME support using Bouncy
Castle (it currently uses System.Security, but that is incomplete in
Mono and so only works in Windows).
Jeff