Cuestión : Fusión fría y estructuras de biblioteca NETAS de la clase del PUNTO (escritas en el estudio visual 2008 de VB.NET)

Tengo estructura una biblioteca de la clase de la red del PUNTO que vuelva órdenes, la colección, la lista, el etc. de una estructura que definí dentro.  Si incluyo el DLL en un uso de la RED del PUNTO, puedo hacer los órdenes y las variables y por ejemplo el
for de la colección y de la lista del uso cada mystruct mientras que MyStructure en ReturnedArray
etc.

I puede volver un datatable del componente a un componente del cfc y volverlo a una página del cfc.  Pero no parezco poder utilizar un arsenal de mis estructuras para devolver una cierta información al cfc page.

I he incluido una biblioteca de la clase del ejemplo con el comportamiento similar y un cliente app que utilice it.

Thanks.
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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= " del
 ' la clase


Opción explícita encendido

Clase pública SharedRecordDefinitions

    Estructura pública RecordLayout
        FName dévil como secuencia
        LName dévil como secuencia

        Nuevo secundario (ByVal FN como secuencia, ByVal LN como secuencia)
            Me.FName = FN
            Me.LName = LN
        Submarino del extremo

    Estructura del extremo

    m_RecordA privado () como RecordLayout = {_
                                          Nuevo RecordLayout (“H”, “B”), _
                                          Nuevo RecordLayout (“R”, “B”), _
                                          Nuevo RecordLayout (_ de “B”, de “B”)
                                          }

    m_RecordB privado () como RecordLayout = {_
                                          Nuevo RecordLayout (“H”, “B”), _
                                          Nuevo RecordLayout (“R”, “B”), _
                                          Nuevo RecordLayout (_ de “B”, de “B”)
                                          }

    m_RecordC privado () como RecordLayout = {_
                                          Nuevo RecordLayout (“H”, “B”), _
                                          Nuevo RecordLayout (“R”, “B”), _
                                          Nuevo RecordLayout (_ de “B”, de “B”)
                                          }

    Característica inalterable pública RecordA () como RecordLayout ()
        Conseguir
            Volver el m_RecordA
        El extremo consigue
    Característica del extremo

    Característica inalterable pública RecordB () como RecordLayout ()
        Conseguir
            Volver el m_RecordB
        El extremo consigue
    Característica del extremo

    Característica inalterable pública RecordC () como RecordLayout ()
        Conseguir
            Volver el m_RecordC
        El extremo consigue
    Característica del extremo

Clase del extremo


'Un cliente simple en VB.NET

Importaciones SharedRecordDefinitions.SharedRecordDefinitions

frmMain del módulo
    m_recAllFormats privados como SharedRecordDefinitions.SharedRecordDefinitions = nuevo SharedRecordDefinitions.SharedRecordDefinitions

    Cañería secundaria ()
        Reca dévil () como SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordA
        Recb dévil () como SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordB
        Recc dévil () como SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordC

        Para cada o como RecordLayout en m_recAllFormats.RecordA
            Debug.Print (o.FName y “: ” y o.LName)
        Después

    Submarino del extremo

Extremo Module
class= del

Respuesta : Fusión fría y estructuras de biblioteca NETAS de la clase del PUNTO (escritas en el estudio visual 2008 de VB.NET)

El trabajo con los objetos de .NET de los CF es un poco diferente que usar ellos de w/in .NET.  Las características son un buen ejemplo.  Para tener acceso a “características púbicas” que usted necesitará utilizar el sintaxis:

   Get_propertyName ()
   Set_propertyName (valor)
   (Véase: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=dotNet_04.html)

Para tener acceso tan al uso de la característica de “RecordA” el siguiente, que volverá un arsenal.

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

Los órdenes de VB.NET (como “recordA”) se deben convertir transparente. Usted podrá tan iterar a través de sus elementos usar la cualidad del “arsenal” del cfloop.  La nota, este ejemplo no hace cualquier cosa excepto descarga los métodos públicos de cada elemento…

   
      
 


Tener presente VB.NET “estructuras” no son iguales que las estructuras de los CF.  Serán convertidas tan en los objetos, significando que usted necesitará utilizar la misma técnica, IE Get_propertyName (), para tener acceso al contenido de sus estructuras:

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

      

   


Puesto que las “estructuras” no son estructuras interchangable de w/CF, tener presente que usted no podrá utilizarlos por todas partes usted puede utilizar una estructura de los CF. Por ejemplo, usted *can no * utilizar la cualidad de la “colección” del cfloop para iterar con las llaves de la estructura - O utilizar la notación asociativa del arsenal para tener acceso a los valores como usted *can* con los CF regulares estructura:






   
      value=#myStruct de la llave = del #key# [llave] #

   


Otras soluciones  
 
programming4us programming4us