J'essaie de comprendre comment fonctionne l'implémentation de l'attribut Now
dans DateTime
. Mon arrière-plan est principalement Python et Haskell, donc je ne peux pas par ma vie comprendre comment l'attribut Now
peut "renvoyer" des valeurs différentes en fonction du moment où vous l'utilisez. Mon intuition dit que Now
devrait vraiment être une fonction qui fait de la magie de bas niveau suivie d'un peu de magie de haut niveau, puis renvoie un objet DateTime avec l'heure correcte.C#: Comment DateTime.Now peut-il être juste un attribut?
Répondre
DateTime.Now n'est pas un attribut, c'est une propriété readonly statique.
Sous les couvertures, une propriété readonly est simplement un appel de fonction qui renvoie une valeur, ce qui lui permet d'effectuer toute la quantité de traitement souhaitée.
Espérons que cela aide.
Bien sûr, j'aurais dû y penser! Merci. –
Oui, c'est la même chose pour 'DateTime.Today',' DateTime.UtcNow' –
Il est pas un attribut, il est une propriété statique sur la classe DateTime qui ressemble à ce qui suit:
public static DateTime Now
{
get
{
return UtcNow.ToLocalTime();
}
}
UtcNow est une autre propriété sur DateTime qui renvoie les éléments suivants:
return new DateTime((ulong) ((GetSystemTimeAsFileTime() +
0x701ce1722770000L) | 0x4000000000000000L));
GetSystemTimeAsFileTime est un appel API Windows.
- 1. C#: DateTime.Now Format de sortie du mois
- 2. Optimisation des alternatives à DateTime.Now
- 3. Comment convertir DateTime.now en UTC dans Ruby?
- 4. Un attribut XML peut-il être la chaîne vide?
- 5. Juste curieux, un moyen de contourner MustOverride en C#?
- 6. Comment appeler une fonction juste avant de revenir en C?
- 7. Attribut C# PropertyType Réflexion
- 8. VB.NET Comment ajouter un attribut de retour?
- 9. Comment ignorer un attribut [XMLIgnore]
- 10. Comment créer un attribut de préférence utilisateur?
- 11. structure en C- pour ajouter un attribut à l'exécution?
- 12. Wimpy Player ne fonctionne pas, pourrait-il être juste un encastrement Flash incorrect?
- 13. Comment avoir un attribut sur un élément de type chaîne
- 14. Comment être un consommateur OpenID?
- 15. Comment ajouter un attribut à un noeud XML sérialisé?
- 16. Comment définissez-vous un attribut par programme?
- 17. Comment protéger un attribut de modèle Rails?
- 18. Comment profiler juste une gamme de programme
- 19. Django forme avec juste un BooleanField
- 20. Comment faire un champ être déboguer-seulement en C#?
- 21. Supprimer un attribut JSON
- 22. jQuery attribut sélecteurs: Comment interroger pour un attribut avec un espace de noms personnalisé
- 23. C#: comment ajouter un attribut à un objet lors de l'exécution?
- 24. Quel est l'équivalent Postgresql de string.Format ("{0: s}", DateTime.Now)?
- 25. obtenir attribut xml LINQ
- 26. comment définir un widget dans un modèle attribut
- 27. Comment appliquer un attribut .net à un type de retour
- 28. Comment ajouter un attribut à un élément XmlArray (XML Serialization)?
- 29. Comment modifier un attribut d'un Zend_Form_Element dans un décorateur
- 30. Comment puis-je faire en sorte qu'un nœud de valeur soit déplacé pour être un attribut de son nœud parent?
C'est l'un des rares endroits (sinon le seul endroit) dans le cadre qui va à l'encontre de la convention ... – Will