POSSO INVENTAR UM TIPO?

MARCOS 11/01/2013 15:28:32
#417205
Prezados colegas,
Quando tenho que declarar minhas variáveis,sempre defini o tipo utilizando
aquilo que a linguagem recomenda (Integer,String,etc...).Sempre foi o suficiente
e nunca tive maiores problemas.
No entanto,várias veses já me deparei com situações , onde ao criar um
método (Função por exemplo),preciso que a mesma retorne ,digamos
3 valores possiveis : [Ô]A[Ô] ,[Ô]B[Ô] ou [Ô]C[Ô].
é claro que posso definir a resposta da função como tipo String e pronto.
Mas,me parece um exagero uma vez que necessito somente de 3 possiveis valores como retorno.

Minha pergunta é a seguintes:

1.) O VB.NET me permite criar o meu própio tipo . De modo que eu define um Tipo de
variável que aceite somente um certo número de valores que eu deseje??????

AJSO 11/01/2013 16:03:37
#417207
Caro

Citação:

O VB.NET me permite criar o meu própio tipo . De modo que eu define um Tipo de
variável que aceite somente um certo número de valores que eu deseje??????



Isso que você esta querendo exemplo do VB.net?

[txt-color=#0000f0]Dim Teste AS String[/txt-color]

[txt-color=#007100]Dim Teste AS SEUTIPODEVARIÁVEL[/txt-color]


Boa Sorte.
VELDRAME 11/01/2013 17:19:42
#417214
Dim Retorno As Char

Retorno = [Ô]Amora[Ô]

MsgBox(Retorno)

Você vera que será retornado apenas a letra [Ô]A[Ô]

O tipo [Ô]CHAR[Ô] retorna apenas 1 bit
LLAIA 11/01/2013 17:25:16
#417216
Ao desenhar uma classe, vc está definindo um tipo.
MARCOS 11/01/2013 17:34:41
#417219
Pessoal,
Eu não sei se fui claro....

Por exemplo:

Se eu tenho uma função que eu quero que retorne apenas dois valores possiveis . Não faz sentido eu
declarar esta função como tipo String ou Integer.é mais interessante usar o tipo Boolean, certo???

Do mesmo modo,o que estou dizendo é que se eu tenho uma situação onde minha função deverá retornar
2 ou 3 valores possiveis,será que existe como criar um tipo que armazene somente estes valores?????


é que me parece um desperdicio de recursos usar um Integer ou String, se por exemplo,minha função irá retornar apenas
[Ô]A[Ô], [Ô]B[Ô] ou [Ô]C[Ô]...

VELDRAME 11/01/2013 17:43:38
#417221
Não sei como você faz para chegar a esses possíveis valores.
Mas você poderia tentar isso:

Public Enum FO_Functions
X = [Ô]A[Ô]
Y = [Ô]B[Ô]
Z = [Ô]C[Ô]
End Enum

Ai no caso você adaptar para você
ANDREY 11/01/2013 17:49:31
#417224
Public Class Class1
Private mVariavel As Variaveis = Variaveis.exemploUm

Public Enum Variaveis
exemploUm
exemploDois
End Enum


Public Property Variavel As Variaveis
Get
Return Me.mVariavel
End Get
Set(value As Variaveis)
Me.mVariavel = value
End Set
End Property
End Class
KERPLUNK 11/01/2013 17:52:47
#417225
Como o VELDRAME disse, use uma enumeração...
AJSO 12/01/2013 13:36:50
#417255
Caro MARCOS

O que está confuso é isso:
Citação:

Quando tenho que declarar minhas variáveis,sempre defini o tipo utilizando
aquilo que a linguagem recomenda (Integer,String,etc...).Sempre foi o suficiente



Pois isso
Citação:

preciso que a mesma retorne ,digamos 3 valores possiveis : [Ô]A[Ô] ,[Ô]B[Ô] ou [Ô]C[Ô].



A é um Tipo INTEGER

B é um Tipo BOOLEAN

C é um Tipo STRING


O que é VALOR? O que é TIPO? na sua dúvida.....


Boa Sorte
PEGUDO 14/01/2013 10:03:43
#417307
Resposta escolhida
Cara se você quer que retorne 3 valores, sejam eles misturados (string, integer, boolean), você pode retornar uma Collection que retorne estes valores ao invés de colocar 3 parâmetros de retorno.
Exemplo:
Adicione uma Classe ao seu projeto e deixe seu nome com Class1 e coloque o código abaixo dentro dela

Public ReadOnly Property RetornaValores () As Collection
Get
Dim Valor1 As String = [txt-color=#e80000][Ô]Tipo String[Ô][/txt-color], Valor2 As Integer = 50, Valor3 As Boolean = True

RetornaValores = New Collection
RetornaValores.Add(Valor1)
RetornaValores.Add(Valor2)
RetornaValores.Add(Valor3)

Return RetornaValores
End Get
End Property

Para chamá-la

Private Sub Button1_Click...
Dim objValores As New Class1
Dim Colecao As New Collection

Colecao = objValores.RetornaValores

MsgBox([txt-color=#e80000][Ô]Valor String: [Ô][/txt-color] & Colecao(1) & Chr(13) & [txt-color=#e80000][Ô]Valor Integer: [Ô][/txt-color] & colecao(2) & Chr(13) & [txt-color=#e80000][Ô]Valor Booleano: [Ô][/txt-color] & colecao(3))
End Sub



Espero que seja isso
LLAIA 16/01/2013 18:02:27
#417525
Creio que um enumerador seja a melhor opção desde que vc esteja lidando com valores estáticos.
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas