BytePtr.cs
Description du code
BytePtr.cs est un fichier du projet BiblioBrol.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/src/.
Projet BiblioBrol :
Gestion de media en CSharp.
Pour plus d'infos, vous pouvez consulter la brève analyse.
Code source ou contenu du fichier
Code c# (BytePtr.cs) (128 lignes)
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace be.gaudry.bibliobrol.model.eid { public struct BytePtr { private IntPtr data; public BytePtr(byte[] data) : this((data != null) ? data : null, 0, (data != null) ? data.Length : 0) { } public BytePtr(byte[] data, int offset, int count) { // allocate this.data = (data == null) ? IntPtr.Zero : Memory.ByteToHLocal(data, offset, count); } public BytePtr(int size) { // allocate this.data = Memory.AllocHLocal(size); } public override string ToString() { // return return data.ToString(); } public IntPtr Handle { get { // return value return this.data; } } public void Free() { // free Memory.FreeHLocal(this.data); } public static BytePtr Zero { get { // return empty version } } public static bool operator ==(BytePtr v1, BytePtr v2) { // check return v1.Equals(v2); } public static bool operator !=(BytePtr v1, BytePtr v2) { // check return !v1.Equals(v2); } public override bool Equals(object obj) { // check if it is an instance } public override int GetHashCode() { // return hash code of data block return data.GetHashCode(); } public static void Free(BytePtr ptr) { // check if zero if (BytePtr.Zero != ptr) { // free it ptr.Free(); } } public static byte[] Free(BytePtr ptr, int length) { // declare byte[] result = null; // check if zero if (BytePtr.Zero != ptr) { // convert to array result = ptr.ToArray(length); // free it ptr.Free(); } // return result return result; } public byte[] ToArray(int length) { // declare result byte[] result = null; // check if zer if (this.data != IntPtr.Zero) { // allocate // copy Marshal.Copy(this.data, result, 0, Convert.ToInt32(length)); } // return result return result; } public void Dispose() { // just free Free(); } } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Pas de sous-répertoires. | |||
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1734901207 22/12/2024 22:00:07 |
Utilisation de l'explorateur de code
- Navigation :
- Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
- Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
- La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
- Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
- Affichage :
- Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
- Actions :
- Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.
Version en cache
22/12/2024 22:00:07 Cette version de la page est en cache (à la date du 22/12/2024 22:00:07) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 16/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-bibliobrol-source-rf-model/eid//BytePtr.cs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.