Question : Fusion froide et structures de bibliothèque NETTES de classe de POINT (écrites dans studio visuel 2008 de VB.NET)

J'ai la construction une bibliothèque de classe de filet de POINT qui renvoie les choix, la collection, la liste, etc. d'une structure que j'ai définie en dedans.  Si j'inclus le DLL dans une application de FILET de POINT, je peux faire les rangées et les variables et par exemple le
for de collection et de liste d'utilisation chaque mystruct pendant que MyStructure dans ReturnedArray
etc.

I peut renvoyer un datatable du composant à un composant de CFC et le renvoyer à une page de CFC.  Mais je ne semble pas pouvoir employer un choix de mes structures pour passer de l'information de nouveau au CFC page.

I ai inclus une bibliothèque de classe d'exemple avec le comportement semblable et un client $$etAPP qui emploie it.

Thanks.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
id= " codeSnippet828875 " class= " de
 ' la classe


Option explicite dessus

Classe publique SharedRecordDefinitions

    Structure publique RecordLayout
        Faible FName comme corde
        Faible LName comme corde

        Nouveau secondaire (ByVal F-N comme corde, ByVal LN comme corde)
            Me.FName = F-N
            Me.LName = LN
        Sous-marin d'extrémité

    Structure d'extrémité

    m_RecordA privé () comme RecordLayout = {_
                                          Nouveau RecordLayout (« H », « B »), _
                                          Nouveau RecordLayout (« R », « B »), _
                                          Nouveau RecordLayout (_ de « B », de « B »)
                                          }

    m_RecordB privé () comme RecordLayout = {_
                                          Nouveau RecordLayout (« H », « B »), _
                                          Nouveau RecordLayout (« R », « B »), _
                                          Nouveau RecordLayout (_ de « B », de « B »)
                                          }

    m_RecordC privé () comme RecordLayout = {_
                                          Nouveau RecordLayout (« H », « B »), _
                                          Nouveau RecordLayout (« R », « B »), _
                                          Nouveau RecordLayout (_ de « B », de « B »)
                                          }

    Propriété inaltérable publique RecordA () comme RecordLayout ()
        Obtenir
            Renvoyer le m_RecordA
        L'extrémité obtiennent
    Propriété d'extrémité

    Propriété inaltérable publique RecordB () comme RecordLayout ()
        Obtenir
            Renvoyer le m_RecordB
        L'extrémité obtiennent
    Propriété d'extrémité

    Propriété inaltérable publique RecordC () comme RecordLayout ()
        Obtenir
            Renvoyer le m_RecordC
        L'extrémité obtiennent
    Propriété d'extrémité

Classe d'extrémité


'Un client simple dans VB.NET

Importations SharedRecordDefinitions.SharedRecordDefinitions

frmMain de module
    m_recAllFormats privés en tant que SharedRecordDefinitions.SharedRecordDefinitions = nouveau SharedRecordDefinitions.SharedRecordDefinitions

    Force secondaire ()
        Faible reca () en tant que SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordA
        Faible recb () en tant que SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordB
        Faible recc () en tant que SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordC

        Pour chaque o comme RecordLayout dans m_recAllFormats.RecordA
            Debug.Print (o.FName et « :  » et o.LName)
        Après

    Sous-marin d'extrémité

Extrémité Module
class= de

Réponse : Fusion froide et structures de bibliothèque NETTES de classe de POINT (écrites dans studio visuel 2008 de VB.NET)

Le travail avec des objets de .NET des CF est un peu différent qu'au moyen de eux de w/in .NET.  Les propriétés sont un bon exemple.  Pour accéder aux « propriétés pubiennes » que vous devrez employer la syntaxe :

   Get_propertyName ()
   Set_propertyName (valeur)
   (Voir : http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=dotNet_04.html)

Accéder ainsi à l'utilisation de propriété de « RecordA » le suivant, qui renverra une rangée.

   
   finitions.dll ") >
   haredRecordDefinitions ", chemin) >
   
   

Des rangées de VB.NET (comme le « recordA ») devraient être converties d'une manière transparente. Ainsi vous pourrez réitérer par ses éléments using l'attribut de « rangée » du cfloop.  La note, cet exemple ne fait rien excepté la décharge les méthodes publiques de chaque élément…

   
      
 


Maintenir dans l'esprit VB.NET « structures » ne sont pas les mêmes que des structures de CF.  Ainsi elles seront converties en objets, signifiant que vous devrez employer la même technique, IE Get_propertyName (), pour accéder au contenu de vos structures :

   
       
      
      FName = #elem.get_FName () #
      LName = #elem.get_LName () #

      

   


Puisque les « structures » ne sont pas les structures interchangable de w/CF, maintenir dans l'esprit que vous ne pourrez pas les employer partout vous pouvez employer une structure de CF. Par exemple, vous *can pas * employer l'attribut de « collection » du cfloop pour réitérer par les clefs de structure - OU employer la notation associative de rangée pour accéder aux valeurs comme vous *can* avec des CF réguliers structure :






   
      value=#myStruct de clef = de #key# [clef] #

   


Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us