public static void Main()
Program p = new Program();
p.ValidateFile<SomeFileClass>(new FileImportParameters(), 1, 1, 1, 1, 1, 1, 1);
p.ValidateFile<AnotherFileClass>(new FileImportParameters(), 1, 1, 1, 1, 1, 1, 1);
public void ValidateFile<T>(
FileImportParameters ImportParameters,
) where T : FileBaseClass, IDisposable, new()
public abstract class FileBaseClass : IDisposable
public abstract void CallSQLProc();
public class SomeFileClass : FileBaseClass, IDisposable
public override void CallSQLProc()
Console.WriteLine("// call SomeFileVersion");
public class AnotherFileClass : FileBaseClass, IDisposable
public override void CallSQLProc()
Console.WriteLine("// call AnotherFileVersion");
public class FileImportParameters {}