
BizArk is a freely available framework that is licensed with the Do What The *** You Want To Public License (WTFPL). This code offers no warranty and has not been tested in a production system, so be careful how you choose to use it.
BizArkCore Features:
- Command-Line processing: There is a set of classes that provides simple command-line processing. Simply inherit from CmdLineObject, expose some properties tagged with the CmdLineArgAttribute, and call the Initialize method with the command-line args. Your properties will automatically be populated from the arguments. The CmdLineObject will also provide usage information to let users know what command-line arguments are available.
- Zip: Provides a simple API for SharpZipLib.
- Email: Provides a simple API for sending an email using the MAPI32 MAPISendMail functionality.
- Advanced Conversions: The .Net framework provides several different mechanisms for converting values from one type to another. This includes the Convert class, TypeConverters, IConvertible interface, Parse methods, and ToXxx methods. The ConvertEx class ties all these together into a single method. You can also add custom conversions by creating your own IConvertStrategy class and registering it with ConvertStrategyMgr.
- Application Class: Similar to the System.Windows.Forms.Application class, this class provides useful information about the currenly running application.
- Class Extenders: There are a number of useful methods that extend bulit in .Net classes.
- ArrayExt:
- Shrink: Creates a truncated copy of an array.
- Convert: Creates a copy of an array whose elements have been converted to another type.
- RemoveEmpties: Removes the empty elements from an array (determined by ConvertEx.IsEmpty).
- Contains: Determines if an array contains a particular value.
- AttributeExt:
- GetAttribute: There are actually several overloads that extend different types in order to make it easier to get custom attributes.
- ObjectExt:
- Convert: Provides a shortcut to call ConvertEx on every objec.
- StringExt:
- Wrap: Forces the string to word wrap so that each line doesn't exceed the maxLineLength.
- Lines: Splits a string into lines.
- Words: Splits a string into words (based on whitespace).
- TypeExt:
- Implements: Determines if the type implements the given interface.
BizArkWinForms Features:- Splash screen management: Provides threading, fading, and status updates for a splash screen. You define the splash screen as a standard WinForm and pass the type to the SplashScreen constructor. The SplashScreen will handle instantiation, display, and threading. If your splash screen implements the ISplashScreen interface, you can pass messages (such as progress) to it through the SplashScreen class.
RedwerbEntry is a sample application to show how to use the SplashScreen and CmdLineObject classes.You can use the source code anyway you want, but the Redwerb image is not part of the WTFPL (not that anyone else would want to use it, but I just thought I would put it in writing).
TestBizArkCore are the unit tests for the core. Don't expect too much from them :). They test the basics, that's about it.
That's it for now. I don't have a road map or really any plans for what I'm going to add to this framework. Feel free to use the Contact Me form if you want me to respond to something, though I won't make any promises about adding or fixing anything.