Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Alias de types [ Archives / .NET ] (Dexope)

mardi 2 mars 2004 à 16:27:26 | Alias de types

Dexope

Je débute sous dotnet avec C# et je bute sur un problème tout con :

Je voudrai donner un alias a un type de base pour réutiliser ce type dans mon source, genre avec une méthode :

TypeAlias MaMethode(...)
{
// mon code
}

Ou et comment faut'il déclarer "TypeAlias" pour que ce soit un équivalent de "uint" par exemple.

Je viens du monde de dephi et j'ai beaucoup de mal a le quitter, ce serait dommage d'abandonner le c# juste pour un détail de ce genre.

Merci pour vos réponses.

mardi 2 mars 2004 à 22:52:38 | Re : Alias de types

gg00xiv

Si tu veux parler de l'équivalent c/c++ de #typedef, cela n'existe pas en c#.


[Membre du Labo .NET]

mercredi 3 mars 2004 à 12:48:12 | Re : Alias de types

Dexope


Merci pour ta réponse,

Je trouve que c'est bien dommage pour l'organisation du code de ne pas avoir d'équivalent, reste à inclure dans le nom des variables ce qu'elle représentent précisément.


jeudi 4 mars 2004 à 09:15:12 | Re : Alias de types

bucherb

Disons que ça n'existe pas, parce que tout simplement ça sert à rien lol... Ou du moins ils n'en ont pas trouvé l'utilité..

Pourtant si tu viens tu delphi tu devrais connaître le notion de classe-objets non? Pour faire ton propre type, crée une classe ;-) Malheureusement tu ne peux pas sous-classer les type de base (Genre int) mais tu peux les intégrer dans une nouvelle classe, ce qui rend la chose tout aussi intéressante que puissante. Je sais ça veux rien dire lol

jeudi 4 mars 2004 à 11:16:26 | Re : Alias de types

coq

Administrateur CodeS-SourceS
Je sais pas si G bien compris ce que tu veux faire mais bon je met quand même ^^ :

using TypeAlias = System.UInt32;


avec ça TypeAlias cool = 1; sera un Uint32

Cocoricoooooooo !!!!

jeudi 4 mars 2004 à 15:06:18 | Re : Alias de types

Dexope


@bucher : Effectivement il serais possible d'utiliser uniquement des classes, étant accros a la POO depuis que je programme sous delphi, tout mon code est intégrés dans des objets, même ce qui ne sera instancier qu'une quele fois. Mon problème est que je tente actuellement de faire migrés un projet delphi vers c# qui accéde a l'API winsock et plus particulièrement a la dll "MSWSOCK" qui gére les extensions microsoft pour des applications réseau hautes performances (avec IOCP) ce que ne permet pas les classes defini dans le namespace System.Net.Sockets. Je tente donc d'interfacer l'API winsock (avec du code unsafe donc) et pour des question de lisibilités de code de souhaite définir des équivalences de type de base, plus particuliérement pour les handle de sockets, en delphi j'écrivais par exemple :

var
ClientHandle : TSocket;
ServerHandle : TSocket;

sans alias de type, sous C#, pour que mon code soit un minnimum lisible il faudrai que j'écrive :

uint ClientSocketHandle;
uint ServerSocketHandle;

la ou je souhaiterais écrire :

SocketHandle Client;
SocketHandle Server;

@coq :Tu a tout a fait compris mon probléme, je viens d'essayer ce que tu propose mais pour les types de base cela ne peut être utiliser. Je me demande alors, si je déclare une methode extern, unsafe.. etc pour la fonction :

CloseSocket(uint SocketHandle)

Le type alias SocketHandle dérivé de uint32 sera t'il valide pour l'appel de la function ?

Si vous avait un petit élément de réponse, des critiques (je doit surement dire des tas de bétises) n'hésiter surtout pas


jeudi 4 mars 2004 à 15:20:55 | Re : Alias de types

coq

Administrateur CodeS-SourceS
ben en fait le "type de base" (mot clé) correspond à un type du framework (C juste un alias koi)
uint => System.UInt32
int => System.Int32
string => System.String


Cocoricoooooooo !!!!

jeudi 4 mars 2004 à 15:34:12 | Re : Alias de types

bucherb

pour t'amuser avec les type y a un mot clé spécial pour les déclarer justement "unsafe" et qu'il t'emmerde plus avec.. cherche un peu tu dois trouver qqch dans la doc

samedi 4 décembre 2004 à 09:40:19 | Re : Alias de types

XenonGP

Hello, je ne sais pas si j'ai bien compris mais si tu veux pouvoir définir tes propres types, rien de + simple:

public struct couleur
{
public int rouge,vert,bleu;
}
public couleur[] c=new couleur[1000];


En fait, c juste en utilisant les structures ^^

(info: c un code tout droit tiré d'une de mes sources alors adaptez ^^)

++



Cette discussion est classé dans : type, genre, types, alias, typealias


Répondre à ce message

Sujets en rapport avec ce message

Return et/ou structuration de classe [ par titi66 ] BonjourJ'ai crée un classe Usines et 3 classes en dérivant. Voici le constructeur :public Usines(string</F Comment écrire un Algorithme ? [ par brico07 ] bonjour, je viens de commencer en C#, et je dois écrire un Programme qui me permet de déssiner deux types de rectangles, de sorte que mes premiers rec Type, string et reflection [ par bigflo93 ] Salut à tous :)Je suis en pleine reflection en ce moment :) et je cherche à instancier une classe à partir d'une string.Enfin, plus précisement avoir quel opérateur pour quel type d'opérandes [ par marilou ] bonjourje débute en C# et je voudrais savoir comment faire une multiplication entre une variable de type "double" et l'élément d'un tableau lui aussi DataSet XSD et XSD.exe [ par hzourmba ] Salut,Je bagarre avec une erreur en voulant creer un XSD-DataSet dans .NET. Je recois l'erreur suivante des que je compte ajouter en reference dans le Comment assurer la persistence d'un uint initialisé en mode design? [ par Trentreznor ] Bonjour, je développe actuellement un composant en C# dont certaines des propriétés sont des uint (= System.UInt32 et je n'ai as de moyen de changer c lecture et traitement de donnee lu (Type Image)dans une base de donnee ACESS !! [ par Pplessis81 ] Bonjour, Je recherche un truc pour convertir des donnees binaire lu dans ma base de donnee Acess. J'arrive donc a me connecter a la base de donnee, re virer les caractère caché dans un string ? (genre \r\n) [ par Thanos_the_yopper ] y'a-t-il un moyen pour virer les caratères cachées d'un string ? par exemple, si je fais un copier d'une cellule Excel, et que je fais un coller dans [C#] probleme d'un checkbox dans un datagrid avec bd oracle [ par Pascalili ] Mon checkbox dans un datagrid est toujours grisé car j'ai un problème de type de données dans ma base oracle. J'avais le même problème avec Sql server Associer mon prog à un type d'url [ par Fildomen ] SalutJe veux que mon prog soit comme emule, dès qu'on clique sur le net dans lien lié a mon prog, par exemple emule a ed2k://|file|zzzzzzz348313600|04


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,983 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.