3ca10488_nd_Abstract_classes_in_C_Sharp__Abstract_class
[Feature] Homogeneity [Interface] If various implementations only share method signatures then it is better to use Interfaces. [Abstract class] 
If various implementations are of the same kind and use common behaviour or status then abstract class is better to use.
My Experience with Dot Net: Interfaces and Abstract classes in C-Sharp
Abstract class