Olá Leandro, tudo certo?
Isso já entra no campo do polimorfismo. Você só pode criar um construtor novo apenas se os tipos dos argumentos não forem iguais ao de outro construtor já existente.
Por exemplo, se o primeiro construtor recebe um int
, o segundo construtor não poderá receber apenas um int
, mas se esse segundo construtor receber um int
e uma string
, são terá problemas, ou receber dois int
.
Então, para você conseguir usar o :this
de algum outro construtor, ele tem que ser único.
Por exemplo, você tem um construtor:
Teste(int id, string nome)
{
Id=id;
Nome=nome;
}
E o segundo construtor:
Teste(int id, string nome, double salario) : this (id, nome)
{
Salario = salario;
}
Você estará passando os argumentos para o único construtor possível que recebe um int
e uma string
, senão terá um erro, como na imagem a seguir:
Espero ter ajudado!