title: How to pass n no.of different generic parameters to a method
body: <p>Currently I have below method which takes two linq expressions as parameters and do some process using them.</p>
  
  <pre><code>public RecordConfiguration&lt;TStage, TKey&gt; EnsureUnique&lt;TProperty1, TProperty2&gt;(Expression&lt;Func&lt;TStage, TProperty1&gt;&gt; propertyAccessor1, Expression&lt;Func&lt;TStage, TProperty2&gt;&gt; propertyAccessor2)
      {
          var columnSet = new ColumnSet&lt;TStage&gt;();
          columnSet.AddAt(0, propertyAccessor1);
          columnSet.AddAt(1, propertyAccessor2);
          Expression&lt;Func&lt;IEntitySetCollection, short, IValidator&gt;&gt; uniquenessValidatorCreator = (entitySetCollection, stagedEntitySetId) =&gt;
              new UniquenessValidator&lt;TStage, TKey&gt;(entitySetCollection,stagedEntitySetId, columnSet);
          RecordValidatorCreators.Add(uniquenessValidatorCreator);
          return this;
      }
  </code></pre>
  
  <p>Instead restricting to just two parameters, can I pass n number of parameters which are of different type like above two?</p>