>C# – Returning a Generic List

>Suppose I have a generic method that returns a generic list, code shows how you can do that.

public List GetAll() where T : class

{
   List result;
   if (typeof(T) == typeof(MyObject))
   {
     result = new List
      {
          new MyObject()
         {
            name = “ObjectName1”,
            id = 1
         } as T,
         new MyObject()

       {
          name = “ObjectName2”,
          id = 2
        } as T,
};
return result;
}
else //You can add other objects here if you’re using it in your Repository Test
{
return new List();
}
}

C# – Unique List Collection

C# – Unique List Collection

Ever wonder how you can create a unique list based on the certain criteria you’ve specified? See code below


/// 

/// Unique Collection
/// 
/// 
public class UniqueCollection  : List
{
public UniqueCollection()
{
}
/// 
/// Method that adds a new item if item is unique based on specified condition
/// 
/// 
/// 
/// Returns true if item is added to the collection
public bool AddUniqueValue(T item, Predicate uniqueCheckCondition)
{
bool isAdded = true;
foreach(T i in this)
{
if (uniqueCheckCondition(i))
{
isAdded = false;
break;
}
}

if (isAdded)
{
this.Add(item);
}
return isAdded;
}
}

Sample use:


Guid dupGuid = Guid.NewGuid();

TestClass item1 = new TestClass
{
GUID = dupGuid.ToString() ,
SettingReference = "Test"
};

TestClass item2 = new TestClass
{
GUID = dupGuid.ToString(),
SettingReference = "Test"
};

UniqueCollection target = new UniqueCollection();
target.AddUniqueValue(item1, i => i.GUID == item1.GUID);
target.AddUniqueValue(item2, i => i.GUID == item2.GUID);
Assert.AreEqual(1, target.Count);