"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter variáveis ​​com segurança em tipos dinâmicos em C#?

Como converter variáveis ​​com segurança em tipos dinâmicos em C#?

Postado em 2025-04-15
Navegar:502

How Can I Safely Cast a Variable to a Dynamic Type in C#?

lançando uma variável para um tipo dinâmico

lançar uma variável de tipo de tipo para uma variável de tipo t, onde t é definido em uma variável de tipo, é possível em C# usar uma expressão de elenco. No entanto, é importante observar que essa abordagem pode levar a erros de tempo de execução se o elenco for inválido. Veja como você pode lançar usando uma variável de tipo:

Type intType = typeof(Int32);
object input = 1000.1;

// Casting to an int
int output = (int)Convert.ChangeType(input, intType);

alternativamente, você pode usar um método genérico para executar a fundição com segurança:

public T Cast(object input) {
    return (T)Convert.ChangeType(input, typeof(T));
}

// Usage
int output = Cast(input);

Embora essa funcionalidade de fundição forneça flexibilidade, ela deve ser usada com cautela para evitar erros de tipo potencial. Considere usar interfaces ou classes de wrapper para lidar com diferentes tipos com mais segurança. Além disso, os genéricos podem ser aproveitados para criar código reutilizável que opera em vários tipos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3