2016-11-01 1 views
0

Je les déclarations suivantes:Type de champ est moins accessible que le champ

public static class Helper 
{ 
    public static Func<T1,T2, string> myFunc = (t1, t2) => 
    { 
     var result = string.Empty 
     //do some things with params t1 and t2, and build a string 
     return result 
    }; 
} 

et je consume comme ceci:

var myString = Helper.myFunc(t1, t2); 

dans une autre classe. Il ne compile pas, il dit "Accessibilité incohérente: type de champ ... est moins accessible que le champ Helper.myFunc" Je comprends qu'il s'agit de la déclaration anonyme, mais comment peut-il être résolu?

+0

Actuellement, il ne compile pas sur 'T1, T2' pas reconnu. Veuillez fournir un exemple de code qui peut aider à reproduire le problème. S'il vous plaît montrer la portée de la fonction + classe dans laquelle vous consommez la fonction aussi –

+0

Vous devez poster un [mcve], il se plaint d'un champ mais il n'y a pas trace d'un champ dans votre code, donc personne ici ne peut vous dire autre chose que le message d'erreur est généralement correct. –

+0

Ok, laissez-moi clarifier. T1 et T2 sont des types valides, peu importe quoi. Et myFunc est le domaine, que voulez-vous dire il n'y a pas de champ? –

Répondre

1

Vérifiez que T1 et T2 également accessible dans ce code

var myString = Helper.myFunc(t1, t2); 
+0

C'était exactement le problème. Merci, T1 a été fait interne. –

+0

Était occupé à changer le code :) Encore une fois, merci –