This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class TypeExtensions | |
{ | |
/// <summary> | |
/// Determine whether a type is simple (String, Decimal, DateTime, etc) | |
/// or complex (i.e. custom class with public properties and methods). | |
/// </summary> | |
/// <see cref="http://stackoverflow.com/questions/2442534/how-to-test-if-type-is-primitive"/> | |
public static bool IsSimpleType( | |
this Type type) | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// Shuffle an <seealso cref="Array"/> of type <typeparamref name="T"/> | |
/// then return it for chaining. | |
/// </summary> | |
/// <typeparam name="T">Type of element in array.</typeparam> | |
/// <param name="array">The array which need to shuffle. This array will be modified.</param> | |
/// <returns>The modified array. It's the same reference with the input array.</returns> | |
public T[] Shuffle<T>(T[] array) | |
{ | |
Random rnd = new Random(); |