Last active
August 29, 2015 14:24
-
-
Save brunomlopes/db237aa1d4720b3a65aa to your computer and use it in GitHub Desktop.
c# Type inference failed me?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Linq; | |
namespace ConsoleApplication4 | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Error 1 The type arguments for method 'ConsoleApplication4.Program.MethodCall<TResult,TIndex,TTransformer>(TIndex)' cannot be inferred from the usage. Try specifying the type arguments explicitly. d:\documents\documents\visual studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\Program.cs 9 13 ConsoleApplication4 | |
MethodCall(new MultiLanguage_EntityIndex_MapReduces()); | |
} | |
public static IQueryable<TResult> MethodCall<TResult, TIndex, TTransformer>(TIndex index) | |
where TIndex : AbstractMultiLanguageMultiMapIndexCreationTask<TResult, TTransformer>, new() | |
where TResult : IMultiLanguageReduceResult | |
where TTransformer : AbstractMultiLanguageTransformerCreationTask<TResult>, new() | |
{ | |
return null; | |
} | |
} | |
class MultiLanguage_EntityIndex_MapReduces : | |
AbstractMultiLanguageMultiMapIndexCreationTask< | |
MultiLanguage_EntityIndex_MapReduces.Result, | |
MultiLanguage_EntityIndex_MapReduces.Transformer | |
> | |
{ | |
public class Transformer : AbstractMultiLanguageTransformerCreationTask<Result> | |
{ | |
} | |
internal class Result : IMultiLanguageReduceResult | |
{ | |
} | |
} | |
#region interfaces and abstracts | |
public abstract class AbstractMultiLanguageTransformerCreationTask<T> | |
: AbstractTransformerCreationTask<T> | |
{ | |
} | |
public class AbstractTransformerCreationTask<T> : AbstractTransformerCreationTask | |
{ | |
} | |
public class AbstractTransformerCreationTask | |
{ | |
} | |
public interface IMultiLanguageReduceResult | |
{ | |
} | |
public class AbstractMultiLanguageMultiMapIndexCreationTask<TMultiMapResult, TTransformer> : | |
AbstractMultiLanguageMultiMapIndexCreationTask<TMultiMapResult> | |
where TMultiMapResult : IMultiLanguageReduceResult | |
where TTransformer : AbstractMultiLanguageTransformerCreationTask<TMultiMapResult>, new() | |
{ | |
} | |
public abstract class AbstractMultiLanguageMultiMapIndexCreationTask<TMultiMapResult> : | |
AbstractMultiMapIndexCreationTask<TMultiMapResult> | |
where TMultiMapResult : IMultiLanguageReduceResult | |
{ | |
} | |
public class AbstractMultiMapIndexCreationTask <T> | |
{ | |
} | |
#endregion | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment