peut les variables dynamiques en C# 4.0 être membres d'une classe ou passé dans ou retour de méthodes? var de C# 3.0 ne pouvait pas mais je n'ai vu aucune mention nulle part de savoir si c'est possible ou non avec dynamique.Nouvelle variable dynamique C# 4.0
Répondre
Tout ce qui précède. Je les ai essayés dans le VPC et j'ai été capable de faire tout cela. Voir la 'New Features in C#' document here
Oui. Il y a une grande différence entre var
et dynamic
.
var
signifie simplement « laisser le compilateur déduire le type réel de la variable ».
dynamic
est le type de la variable - donc où vous pouvez spécifier un type, vous pouvez spécifier dynamic
à la place, si je comprends bien. (Je suis sûr qu'il ya des exceptions, mais c'est l'idée de base.)
EDIT: Chris Burrow first blog entry on dynamic
(il y a un second one déjà, attendez plus tôt) donne une classe exemple qui utilise dynamic
partout.
Cet extrait de code du livre "CLR via C#, 3ème Ed" montre dynamique en action:
using System;
using System.Dynamic;
static class DyanmicDemo
{
public static void Main() {
for(Int32 demo =0; demo < 2; demo++) {
dynamic arg = (demo == 0) ? (dynamic) 5 : (dynamic) "A";
dynamic result = Plus(arg);
M(result);
}
}
private static dynamic Plus(dynamic arg) { return arg + arg; }
private static void M(Int32 n) { Console.WriteLine("M(Int32): " + n); }
private static void M(String s) { Console.WriteLine("M(String): " + s); }
}
Quand j'exécute Main, je reçois la sortie suivante:
M (Int32): M (Chaîne): AA
- 1. .NET 4.0 - Le mot-clé "dynamique"
- 2. Django: variable dynamique LOGIN_URL
- 3. C# 4.0 Commentaires
- 4. Définition dynamique de la variable d'instance
- 5. Le nouveau mot clé 'dynamique' C# 4.0 déprécie-t-il le mot clé 'var'?
- 6. Montrez-moi la façon d'utiliser le nouveau mot-clé "dynamique" en C# 4.0
- 7. CruiseControl.NET Set Variable à une valeur dynamique
- 8. session jquery - dénomination de variable dynamique
- 9. Crm flux de travail personnalisé variable dynamique
- 10. Appel dynamique d'une variable statique (tableau)
- 11. Conception par contrat/C# 4.0/éviter ArgumentNullException
- 12. Coulée dynamique en C#
- 13. Comment créer une variable dynamique vbox dans actionscript
- 14. La contravariance des événements et des délégués dans .NET 4.0 et C# 4.0
- 15. Dactylographie dynamique en C#
- 16. Arguments d'attribut dynamique C#
- 17. Webservice C# .NET dynamique
- 18. Opérateur dynamique C#
- 19. Contrôle dynamique dans C#
- 20. C# objet dynamique d'exécution de type Vérification
- 21. Aide en utilisant la variance en C# 4.0
- 22. Variable de valeur de tableau C++ variable
- 23. Interception dynamique d'appels dans .NET
- 24. Création d'une nouvelle exception en C++
- 25. C++ interagir avec une page Web dynamique?
- 26. Déclaration de déclarations de mémoire dynamique C++
- 27. montage en ligne dans C: enregistre dynamique
- 28. C# Variable Question Initialisation
- 29. variable C#, .NET
- 30. Arité variable en C?
En fait, dynamique n'est pas vraiment le type. Il dit plus simplement, ne détermine pas le type réel jusqu'à l'exécution. Vous pouvez utiliser "est" sur les types dynamiques et comprendre ce qu'ils sont vraiment. –
Mais dynamic est le type de la variable * still, de la même manière que si vous déclarez "object x = new MemoryStream()" alors le type de la variable est "object" alors que le type de l'objet est la valeur de la variable est "MemoryStream". –
J'essaie de trouver l'endroit où j'ai lu MS qui a expliqué ce que j'essayais d'expliquer. Je ne peux pas le trouver à nouveau. J'ai lu trop d'informations de PDC ces deux derniers jours. –