Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Classe que aceita outro tipo de classe

Boa tarde, estou fazendo um teste só pra melhorar meu aprendizado. Nesse teste eu tenho uma classe "Vector" que eu criei, é um vetor que aceita "x, y, z" e calcula coisas relacionadas a um vetor. Agora estava criando uma classe "Vertex" que receberia um Vector e adicionaria ao seu proprio x, y, z e faria calculos da responsabilidade de um vertice.

Só que eu fiz uma função que multiplica um vetor por uma matriz e devolve um novo vetor, queria poder colocar:

for(...){ Vertex v = Matrix.Multiply(vector); }

Eu imagino que seja algo parecido como quando um "float" aceita por exemplo um numero "int". Posso estar errado, mas de qualquer jeito não sei como fazer isso.

Teria como fazer uma classe vertex receber um vector desse jeito? Tentei fazer vertex herdar vector mas não deu certo. Deve ser algo bem bobo, quando tenho essas duvidas eu pesquiso e acho rapido, mas nesse caso eu não sei nem o que pesquisar. Obrigado a quem puder ajudar.

1 resposta
solução!

Pode deixar pessoal haha. 2 minutos depois que fiz a pergunta encontrei um jeito, não sei se é o melhor mas funcionou.

Eu tinha tentado sobrecarregar o operador "=" mas o csharp não deixa, fui ler na documentação e tem como ao inves definir um operador de conversão.

https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/operators/user-defined-conversion-operators

É mais facil lerem direto na documentação do que eu tentar explicar. Mas fica aí pra caso alguem tenha a mesma duvida que eu.