Я нахожу классы, наследуемые от интерфейса:
var baseType = typeof(ICustomSerialization);
Assembly assembly = baseType.Assembly;
var subClass = assembly.GetTypes().Where(t => t.IsSubclassOf(baseType) );
Если у класса есть атрибут и параметр Имя:
[CustomAttribute(Name="Soap")]
class CustomSoapSerializer : ICustomSerialization
Это способ получить по отражению свойство Name этого атрибута?