title: What is the equivalent C# of a parameterized type like Class<? extends Throwable> in Java?
body: <p>I wrote this blog: <a href="http://tri-katch.blogspot.com" rel="nofollow">http://tri-katch.blogspot.com</a> and implemented the pahakia-fault library: <a href="https://github.com/pahakia/lib" rel="nofollow">https://github.com/pahakia/lib</a>.</p>
  
  <p>I'd like to convert the pahakia-fault library to C#.  But how to translate the following into C#?</p>
  
  <pre><code>public CodeBlockWorker&lt;T&gt; ignore(Class&lt;? extends Throwable&gt; clazz,
          @SuppressWarnings("unchecked") Class&lt;? extends Throwable&gt;... classes) {
      String[] codes = new String[classes.length];
      for (int i = 0; i &lt; codes.length; i++) {
          Class&lt;? extends Throwable&gt; clz = classes[i];
          codes[i] = clz.getName();
      }
      handlers.add(new KatchHandler&lt;T&gt;(clazz.getName(), codes));
      return this;
  }
  </code></pre>
  
  <p>I know C# has Type as the equivalent of Class in Java but Type is not parameterized.</p>
  
  <p>So how to represent a parameterized type in C# if I want to use the type itself instead of an instance of it?</p>
  
  <p>Thanks.</p>