FONTE NFE VB.NET
Tiago dentro deste projeto tem tudo que você precisa impressão de danfe e a classe com código aberto a unica coisa precisa fazer é mandar as informações para gerar o XML isso independente da solução que escolher vai necessitar fazer se precisar de ajuda em algum campo que não esteja nesta classe ou quiser entender alguma parte do código posta ai que lhe ajudo sem problema.
Para quem está começando agora o projeto segue a tabela com os códigos IBGE de municÃpio atualizada
olaaa DANIELCPAETE eu tenho um projeto pronto e testado de impressão de danfe super funcional! e ja funcionando em 10 clientes!
eu queria saber se entereça fazer uma parceria
pq eu desenvolvi tudo em formato paisagem bom e se eu for fazer em formato retrato eu demoraria 1 semana e eu não tenho uma semana para fazer em formato retrato! ai queria saber se ha o interece!
pq eu to fazendo sistemas parecido como UniNFE
e tambem to bem ocupado e to fazendo um aplicativo super complexo de geração de XML que pode ser integrado em qual quer sistema sem ter que alterar o seu codigo fonte! do seu proprio sistema.
abç
eu queria saber se entereça fazer uma parceria
pq eu desenvolvi tudo em formato paisagem bom e se eu for fazer em formato retrato eu demoraria 1 semana e eu não tenho uma semana para fazer em formato retrato! ai queria saber se ha o interece!
pq eu to fazendo sistemas parecido como UniNFE
e tambem to bem ocupado e to fazendo um aplicativo super complexo de geração de XML que pode ser integrado em qual quer sistema sem ter que alterar o seu codigo fonte! do seu proprio sistema.
abç
Oi Otavio até gostaria mas infelizmente como você também não estou dispondo de muito tempo livre para criar novas rotinas na Danfe, no momento estou dedicando os meus esforços a versão 2.0 da NF-e.
O que você poderia fazer é disponibilizar o seu código aqui no site, que com certeza vai aparecer um colega para ajudar.
O que você poderia fazer é disponibilizar o seu código aqui no site, que com certeza vai aparecer um colega para ajudar.
quero participar ,, onde encontro a ultima versao e quem controla a versao
abraco a todos
abraco a todos
Amigo S4NG3 a ultima versão esta na pagina 3 do forum, qualquer duvida me manda um email danielcpaete@gmail.com que to voltando a tocar este projeto novamente.
realmente é muito complicado o valida dessas notas eu mesmo perco paciência.
quem ja consiguio obter algum resultado pelos menos um sinal de comunicação
quem ja consiguio obter algum resultado pelos menos um sinal de comunicação
ue sei la eu achei facil o dificil e fazer um validador igual o da sefaz que da ate o q esta dando errado
mas se vc monta o xml colocar esse função aki em baixo a todos os campos com cerveja vc vai ter menos erros
pq o problema e o usuario final pq eles alimenta de qual quer jeito ai so fode a nossa vida ai eu coloquei isso na hora que ele gera a xml em cada campo e matou o problema
como eu aplico nos meus campos
esse e importante pq e chato ele valido corretamente
TCAMPO_IE = LimpaStringNFE(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]ins[Ô])))
TCAMPO_CNPJ = LimpaStringNFE(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]cnpj[Ô])))
TCAMPO_CPF = LimpaStringNFE(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]cpf[Ô])))
esse aki tem que prestar atenção que passa facil esse campo razaão social em toda nfe o maximo dele e 60 caracteres e tem empresas que passa facil dos 60 char aiii ne tive que fazer isso
TCAMPO_xNome = Mid(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]razaosocial[Ô])), 1, 59)
campos comum
TCAMPO_xEnder = ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]end[Ô]))
TCAMPO_xMun = ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]cidade[Ô]))
TCAMPO_UF = ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]estado[Ô]))
campo de valor
ConverteValorNFE(ChkString(RsMotor1.Tables(0).Rows(0).Item([Ô]valor_seguro[Ô])))
as funçoes abaixo
------------------------------------------------------------------------------------------
em todos os campos
Public Function ChkString(ByVal stringx)
Dim resultado As String = [Ô][Ô]
Dim testeDBNull = stringx
If (IsDBNull(testeDBNull) = False) Then
[ô]If stringx = [Ô][Ô] Then stringx = [Ô][Ô]
resultado = LTrim(RTrim((stringx)))
resultado = Trim(resultado)
resultado = (Replace(resultado, [Ô][ô][Ô], [Ô][ô][ô][Ô]))
resultado = Replace(resultado, [Ô]>[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]<[Ô], [Ô][Ô])
resultado = Replace(resultado, vbCrLf, [Ô][Ô])
resultado = Replace(resultado, vbLf, [Ô][Ô])
resultado = Replace(resultado, vbCr, [Ô][Ô])
resultado = LTrim(resultado)
resultado = RTrim(resultado)
Else
resultado = [Ô][Ô]
End If
Return resultado
End Function
-------------------------------------------------------------------------------------------------------------------------
esse e muito importante
Private Function LimpaStringNFE(ByVal stringx As String) As String
Dim resultado As String
resultado = Replace(stringx, [Ô]/[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô].[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]-[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô][[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]][Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]{[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]}[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]'[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]'[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]>[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]<[Ô], [Ô][Ô])
resultado = Replace(resultado, vbCrLf, [Ô][Ô])
resultado = Replace(resultado, vbLf, [Ô][Ô])
resultado = Replace(resultado, vbCr, [Ô][Ô])
Return resultado
End Function
----------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
esse e para converter os valores dependendo como vc alimenta o seu banco de dados
Private Function ConverteValorNFE(ByVal stringx As String) As String
Dim resultado As String
If IsNumeric(stringx) = False Then stringx = [Ô]0[Ô]
stringx = Replace(FormatCurrency(stringx), [Ô]R$ [Ô], [Ô][Ô])
resultado = Replace(stringx, [Ô].[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô],[Ô], [Ô].[Ô])
Return resultado
End Function
bom com isso vc reduss muito os erros ai o que vem e so falha de cadastro ou falta de alimentação de alguns campos!!
mas se vc monta o xml colocar esse função aki em baixo a todos os campos com cerveja vc vai ter menos erros
pq o problema e o usuario final pq eles alimenta de qual quer jeito ai so fode a nossa vida ai eu coloquei isso na hora que ele gera a xml em cada campo e matou o problema
como eu aplico nos meus campos
esse e importante pq e chato ele valido corretamente
TCAMPO_IE = LimpaStringNFE(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]ins[Ô])))
TCAMPO_CNPJ = LimpaStringNFE(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]cnpj[Ô])))
TCAMPO_CPF = LimpaStringNFE(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]cpf[Ô])))
esse aki tem que prestar atenção que passa facil esse campo razaão social em toda nfe o maximo dele e 60 caracteres e tem empresas que passa facil dos 60 char aiii ne tive que fazer isso
TCAMPO_xNome = Mid(ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]razaosocial[Ô])), 1, 59)
campos comum
TCAMPO_xEnder = ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]end[Ô]))
TCAMPO_xMun = ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]cidade[Ô]))
TCAMPO_UF = ChkString(RsMotor7.Tables(0).Rows(0).Item([Ô]estado[Ô]))
campo de valor
ConverteValorNFE(ChkString(RsMotor1.Tables(0).Rows(0).Item([Ô]valor_seguro[Ô])))
as funçoes abaixo
------------------------------------------------------------------------------------------
em todos os campos
Public Function ChkString(ByVal stringx)
Dim resultado As String = [Ô][Ô]
Dim testeDBNull = stringx
If (IsDBNull(testeDBNull) = False) Then
[ô]If stringx = [Ô][Ô] Then stringx = [Ô][Ô]
resultado = LTrim(RTrim((stringx)))
resultado = Trim(resultado)
resultado = (Replace(resultado, [Ô][ô][Ô], [Ô][ô][ô][Ô]))
resultado = Replace(resultado, [Ô]>[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]<[Ô], [Ô][Ô])
resultado = Replace(resultado, vbCrLf, [Ô][Ô])
resultado = Replace(resultado, vbLf, [Ô][Ô])
resultado = Replace(resultado, vbCr, [Ô][Ô])
resultado = LTrim(resultado)
resultado = RTrim(resultado)
Else
resultado = [Ô][Ô]
End If
Return resultado
End Function
-------------------------------------------------------------------------------------------------------------------------
esse e muito importante
Private Function LimpaStringNFE(ByVal stringx As String) As String
Dim resultado As String
resultado = Replace(stringx, [Ô]/[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô].[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]-[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô][[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]][Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]{[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]}[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]'[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]'[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]>[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô]<[Ô], [Ô][Ô])
resultado = Replace(resultado, vbCrLf, [Ô][Ô])
resultado = Replace(resultado, vbLf, [Ô][Ô])
resultado = Replace(resultado, vbCr, [Ô][Ô])
Return resultado
End Function
----------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
esse e para converter os valores dependendo como vc alimenta o seu banco de dados
Private Function ConverteValorNFE(ByVal stringx As String) As String
Dim resultado As String
If IsNumeric(stringx) = False Then stringx = [Ô]0[Ô]
stringx = Replace(FormatCurrency(stringx), [Ô]R$ [Ô], [Ô][Ô])
resultado = Replace(stringx, [Ô].[Ô], [Ô][Ô])
resultado = Replace(resultado, [Ô],[Ô], [Ô].[Ô])
Return resultado
End Function
bom com isso vc reduss muito os erros ai o que vem e so falha de cadastro ou falta de alimentação de alguns campos!!
Consumindo WS versão 2.0
Gostaria de saber se alguém tem exemplo parecido. Esse é para fazer consulta NFe versão 2.0
Option Strict Off
Option Explicit On
Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
[ô]
[ô]This source code was auto-generated by wsdl, Version=2.0.50727.1432.
[ô]
[ô][ô][ô]<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]wsdl[Ô], [Ô]2.0.50727.1432[Ô]), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô]), _
System.Web.Services.WebServiceBindingAttribute(Name:=[Ô]NfeConsulta2Soap12[Ô], [Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2[Ô])> _
Partial Public Class NfeConsulta2Soap12
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
Private nfeCabecMsgValueField As nfeCabecMsg
Private nfeConsultaLote2OperationCompleted As System.Threading.SendOrPostCallback
[ô][ô][ô]<remarks/>
Public Sub New()
MyBase.New()
Me.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12
End Sub
Public Property nfeCabecMsgValue() As nfeCabecMsg
Get
Return Me.nfeCabecMsgValueField
End Get
Set(ByVal value As nfeCabecMsg)
Me.nfeCabecMsgValueField = value
End Set
End Property
[ô][ô][ô]<remarks/>
Public Event nfeConsultaLote2Completed As nfeConsultaLote2CompletedEventHandler
[ô][ô][ô]<remarks/>
<System.Web.Services.Protocols.SoapHeaderAttribute([Ô]nfeCabecMsgValue[Ô], Direction:=System.Web.Services.Protocols.SoapHeaderDirection.InOut), _
System.Web.Services.Protocols.SoapDocumentMethodAttribute([Ô]http://www.portalfiscal.inf.br/nfe/wsdl/nfeConsulta2/nfeConsultaLote2[Ô], Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Bare)> _
Public Function nfeConsultaLote2(<System.Xml.Serialization.XmlElementAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2[Ô])> ByVal nfeDadosMsg As System.Xml.XmlNode) As <System.Xml.Serialization.XmlElementAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2[Ô])> System.Xml.XmlNode
Dim results() As Object = Me.Invoke([Ô]nfeConsultaLote2[Ô], New Object() {nfeDadosMsg})
Return CType(results(0), System.Xml.XmlNode)
End Function
[ô][ô][ô]<remarks/>
Public Function BeginnfeConsultaLote2(ByVal nfeDadosMsg As System.Xml.XmlNode, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
Return Me.BeginInvoke([Ô]nfeConsultaLote2[Ô], New Object() {nfeDadosMsg}, callback, asyncState)
End Function
[ô][ô][ô]<remarks/>
Public Function EndnfeConsultaLote2(ByVal asyncResult As System.IAsyncResult) As System.Xml.XmlNode
Dim results() As Object = Me.EndInvoke(asyncResult)
Return CType(results(0), System.Xml.XmlNode)
End Function
[ô][ô][ô]<remarks/>
Public Overloads Sub nfeConsultaLote2Async(ByVal nfeDadosMsg As System.Xml.XmlNode)
Me.nfeConsultaLote2Async(nfeDadosMsg, Nothing)
End Sub
[ô][ô][ô]<remarks/>
Public Overloads Sub nfeConsultaLote2Async(ByVal nfeDadosMsg As System.Xml.XmlNode, ByVal userState As Object)
If (Me.nfeConsultaLote2OperationCompleted Is Nothing) Then
Me.nfeConsultaLote2OperationCompleted = AddressOf Me.OnnfeConsultaLote2OperationCompleted
End If
Me.InvokeAsync([Ô]nfeConsultaLote2[Ô], New Object() {nfeDadosMsg}, Me.nfeConsultaLote2OperationCompleted, userState)
End Sub
Private Sub OnnfeConsultaLote2OperationCompleted(ByVal arg As Object)
If (Not (Me.nfeConsultaLote2CompletedEvent) Is Nothing) Then
Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg, System.Web.Services.Protocols.InvokeCompletedEventArgs)
RaiseEvent nfeConsultaLote2Completed(Me, New nfeConsultaLote2CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState))
End If
End Sub
[ô][ô][ô]<remarks/>
Public Shadows Sub CancelAsync(ByVal userState As Object)
MyBase.CancelAsync(userState)
End Sub
End Class
[ô][ô][ô]<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]wsdl[Ô], [Ô]2.0.50727.1432[Ô])> _
Public Delegate Sub nfeConsultaLote2CompletedEventHandler(ByVal sender As Object, ByVal e As nfeConsultaLote2CompletedEventArgs)
[ô][ô][ô]<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]wsdl[Ô], [Ô]2.0.50727.1432[Ô]), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])> _
Partial Public Class nfeConsultaLote2CompletedEventArgs
Inherits System.ComponentModel.AsyncCompletedEventArgs
Private results() As Object
Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object)
MyBase.New(exception, cancelled, userState)
Me.results = results
End Sub
[ô][ô][ô]<remarks/>
Public ReadOnly Property Result() As System.Xml.XmlNode
Get
Me.RaiseExceptionIfNecessary()
Return CType(Me.results(0), System.Xml.XmlNode)
End Get
End Property
End Class
Gostaria de saber se alguém tem exemplo parecido. Esse é para fazer consulta NFe versão 2.0
Option Strict Off
Option Explicit On
Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
[ô]
[ô]This source code was auto-generated by wsdl, Version=2.0.50727.1432.
[ô]
[ô][ô][ô]<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]wsdl[Ô], [Ô]2.0.50727.1432[Ô]), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô]), _
System.Web.Services.WebServiceBindingAttribute(Name:=[Ô]NfeConsulta2Soap12[Ô], [Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2[Ô])> _
Partial Public Class NfeConsulta2Soap12
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
Private nfeCabecMsgValueField As nfeCabecMsg
Private nfeConsultaLote2OperationCompleted As System.Threading.SendOrPostCallback
[ô][ô][ô]<remarks/>
Public Sub New()
MyBase.New()
Me.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12
End Sub
Public Property nfeCabecMsgValue() As nfeCabecMsg
Get
Return Me.nfeCabecMsgValueField
End Get
Set(ByVal value As nfeCabecMsg)
Me.nfeCabecMsgValueField = value
End Set
End Property
[ô][ô][ô]<remarks/>
Public Event nfeConsultaLote2Completed As nfeConsultaLote2CompletedEventHandler
[ô][ô][ô]<remarks/>
<System.Web.Services.Protocols.SoapHeaderAttribute([Ô]nfeCabecMsgValue[Ô], Direction:=System.Web.Services.Protocols.SoapHeaderDirection.InOut), _
System.Web.Services.Protocols.SoapDocumentMethodAttribute([Ô]http://www.portalfiscal.inf.br/nfe/wsdl/nfeConsulta2/nfeConsultaLote2[Ô], Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Bare)> _
Public Function nfeConsultaLote2(<System.Xml.Serialization.XmlElementAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2[Ô])> ByVal nfeDadosMsg As System.Xml.XmlNode) As <System.Xml.Serialization.XmlElementAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2[Ô])> System.Xml.XmlNode
Dim results() As Object = Me.Invoke([Ô]nfeConsultaLote2[Ô], New Object() {nfeDadosMsg})
Return CType(results(0), System.Xml.XmlNode)
End Function
[ô][ô][ô]<remarks/>
Public Function BeginnfeConsultaLote2(ByVal nfeDadosMsg As System.Xml.XmlNode, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
Return Me.BeginInvoke([Ô]nfeConsultaLote2[Ô], New Object() {nfeDadosMsg}, callback, asyncState)
End Function
[ô][ô][ô]<remarks/>
Public Function EndnfeConsultaLote2(ByVal asyncResult As System.IAsyncResult) As System.Xml.XmlNode
Dim results() As Object = Me.EndInvoke(asyncResult)
Return CType(results(0), System.Xml.XmlNode)
End Function
[ô][ô][ô]<remarks/>
Public Overloads Sub nfeConsultaLote2Async(ByVal nfeDadosMsg As System.Xml.XmlNode)
Me.nfeConsultaLote2Async(nfeDadosMsg, Nothing)
End Sub
[ô][ô][ô]<remarks/>
Public Overloads Sub nfeConsultaLote2Async(ByVal nfeDadosMsg As System.Xml.XmlNode, ByVal userState As Object)
If (Me.nfeConsultaLote2OperationCompleted Is Nothing) Then
Me.nfeConsultaLote2OperationCompleted = AddressOf Me.OnnfeConsultaLote2OperationCompleted
End If
Me.InvokeAsync([Ô]nfeConsultaLote2[Ô], New Object() {nfeDadosMsg}, Me.nfeConsultaLote2OperationCompleted, userState)
End Sub
Private Sub OnnfeConsultaLote2OperationCompleted(ByVal arg As Object)
If (Not (Me.nfeConsultaLote2CompletedEvent) Is Nothing) Then
Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg, System.Web.Services.Protocols.InvokeCompletedEventArgs)
RaiseEvent nfeConsultaLote2Completed(Me, New nfeConsultaLote2CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState))
End If
End Sub
[ô][ô][ô]<remarks/>
Public Shadows Sub CancelAsync(ByVal userState As Object)
MyBase.CancelAsync(userState)
End Sub
End Class
[ô][ô][ô]<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]wsdl[Ô], [Ô]2.0.50727.1432[Ô])> _
Public Delegate Sub nfeConsultaLote2CompletedEventHandler(ByVal sender As Object, ByVal e As nfeConsultaLote2CompletedEventArgs)
[ô][ô][ô]<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]wsdl[Ô], [Ô]2.0.50727.1432[Ô]), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])> _
Partial Public Class nfeConsultaLote2CompletedEventArgs
Inherits System.ComponentModel.AsyncCompletedEventArgs
Private results() As Object
Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object)
MyBase.New(exception, cancelled, userState)
Me.results = results
End Sub
[ô][ô][ô]<remarks/>
Public ReadOnly Property Result() As System.Xml.XmlNode
Get
Me.RaiseExceptionIfNecessary()
Return CType(Me.results(0), System.Xml.XmlNode)
End Get
End Property
End Class
Faça seu login para responder