2017-09-25 5 views
-3

J'ai et la méthode d'extension qui prend trois paramètres de nom de type identique.même identifiant est considéré par le compilateur C# comme type différent dans la même fonction

Le problème est que le compilateur C# résout les premier et deuxième arguments en tant que type ServerModels.Action, mais le troisième paramètre est résolu en tant que System.Action.

Comment est-il possible qu'un même identifiant soit considéré comme un type différent?

enter image description here

Microsoft Visual Studio Professional 2013 Version 12.0.40629.00 Mise à jour 5 Microsoft .NET Framework 4.5

+2

Actions <-> Action – PinBack

+4

Ils * n'ont pas * le même nom. Action ** s ** vs Action – Amy

+1

Je vois ServerModels.Action et un System.Action, parce que votre code ressemble à Action Actions1, Actions action2 Action action3' action trois est passé comme un type d'objet différent. Je soupçonne que vous avez juste besoin de changer le type d'action3 en Actions plutôt qu'en Action. –

Répondre

2

Le troisième est la résolution du plus System.Action que les autres paramètres sont ServerModels.Actions (notez le "s"

1

Je vois à ServerModels.Action et un System.Action, parce que votre code ressemble à Actions action1, Actions action2 Action action3 l'action trois est passée comme un différent o type d'objet. Je suppose que vous avez juste besoin de changer le type d'action3 à Actions au lieu de Action