Pergunta : Fusão fria e de classe do PONTO estruturas de biblioteca LÍQUIDAS (escritas no estúdio visual 2008 de VB.NET)

Eu tenho a configuração uma biblioteca da classe da rede do PONTO que retorne disposições, coleção, lista, etc. de uma estrutura que eu defina dentro.  Se eu incluo o DLL em uma aplicação da REDE do PONTO, eu posso fazer as disposições e as variáveis da coleção e da lista e por exemplo o
for do uso cada mystruct enquanto MyStructure em ReturnedArray
etc.

I pode retornar um datatable do componente a um componente do CFC e o retornar a uma página do CFC.  Mas eu não pareço poder usar uma disposição de minhas estruturas para passar alguma informação de volta ao CFC page.

I incluí uma biblioteca da classe do exemplo com comportamento similar e um cliente app que use it.

Thanks.
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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= " do
 ' a classe


Opção explícita sobre

Classe pública SharedRecordDefinitions

    Estrutura pública RecordLayout
        FName não ofuscante como a corda
        LName não ofuscante como a corda

        Novo secundário (ByVal FN como a corda, ByVal LN como a corda)
            Me.FName = FN
            Me.LName = LN
        Submarino da extremidade

    Estrutura da extremidade

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

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

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

    Propriedade de leitura apenas pública RecordA () como RecordLayout ()
        Começ
            Retornar o m_RecordA
        A extremidade começ
    Propriedade da extremidade

    Propriedade de leitura apenas pública RecordB () como RecordLayout ()
        Começ
            Retornar o m_RecordB
        A extremidade começ
    Propriedade da extremidade

    Propriedade de leitura apenas pública RecordC () como RecordLayout ()
        Começ
            Retornar o m_RecordC
        A extremidade começ
    Propriedade da extremidade

Classe da extremidade


'Um cliente simples em VB.NET

Importações SharedRecordDefinitions.SharedRecordDefinitions

frmMain do módulo
    m_recAllFormats confidenciais como SharedRecordDefinitions.SharedRecordDefinitions = SharedRecordDefinitions.SharedRecordDefinitions novo

    Cano principal secundário ()
        Reca não ofuscante () como SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordA
        Recb não ofuscante () como SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordB
        Recc não ofuscante () como SharedRecordDefinitions.SharedRecordDefinitions.RecordLayout = m_recAllFormats.RecordC

        Para cada o como RecordLayout em m_recAllFormats.RecordA
            Debug.Print (o.FName & “: ” & o.LName)
        Em seguida

    Submarino da extremidade

Extremidade Module
class= do

Resposta : Fusão fria e de classe do PONTO estruturas de biblioteca LÍQUIDAS (escritas no estúdio visual 2008 de VB.NET)

Trabalhar com objetos de .NET dos CF é um pouco de diferente do que using eles de w/in .NET.  As propriedades são um bom exemplo.  Para alcançar “propriedades púbicas” que você precisará de usar a sintaxe:

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

Para alcançar assim o uso da propriedade de “RecordA” o seguinte, que retornará uma disposição.

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

As disposições de VB.NET (como o “recordA”) devem ser convertidas transparente. Assim você poderá iterar através de seus elementos using o atributo da “disposição” do cfloop.  A nota, este exemplo não faz qualquer coisa exceto a descarga os métodos públicos de cada elemento…

   
      
 


Manter na mente VB.NET “estruturas” não são o mesmos que estruturas dos CF.  Serão convertidos assim nos objetos, significando que você precisará de usar a mesma técnica, IE Get_propertyName (), para alcançar os índices de suas estruturas:

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

      

   


Desde que as “estruturas” não são estruturas interchangable de w/CF, manter na mente que você não poderá os usar em toda parte você pode usar uma estrutura dos CF. Por exemplo, você *can não * usar o atributo da “coleção” do cfloop para iterar com as chaves da estrutura - OU para usar a notação associativa da disposição para alcançar os valores como você *can* com CF regulares estrutura:






   
      value=#myStruct da chave = do #key# [chave] #

   


Outras soluções  
 
programming4us programming4us