firstly change the line
Console.WriteLine(((jrn.IjrnPlug)objPlug).Name());
to
Console.WriteLine(((jrn.IjrnPlug)objPlug).Name);
Also change your implementation of ExamineAssembly to
public static void ExamineAssembly(Assembly dll, string thisInterface, ArrayList plugs)
{
Type objInterface=null;
availablePlug plug;
//loop through each type in dll
foreach(Type objType in dll.GetTypes())
{
//only check public types
if(objType.IsPublic)
{
//ignore base classes and interfaces
if(!(objType.IsAbstract))
{
objInterface = objType.GetInterface(thisInterface,true);
//see if this interface implements our interface
if (thisInterface != null)
{
plug = new availablePlug();
plug.assemblyPath = dll.Location;
plug.className = objType.FullName;
plugs.Add(plug);
}//if
}//if
}//if
}//foreach
}//void
you had a misplaced opening brace after the check for abstract type.