.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.IO;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine("--------BEGIN--------");
		
		FIVan van = new FIVan();
		van.DisplayType();
		
		Console.WriteLine("---------END---------");
	}
}

public interface IVan
{
	public Type TheType {get;}
	public void DisplayType() => Console.WriteLine("Generic Type associated with this IVan<T> is : " + TheType.ToString());
}

public abstract class AVan<T> : IVan
	where T : class//, IEquatable<T>
{
	public Type TheType { get => typeof(T);}
	public void DisplayType() => ((IVan)this).DisplayType();
}

public class FIVan : AVan<FileInfo>
{
	
}
;