Gli operandi 'TryCast' devono essere parametri di tipo con vincoli di classe, ma '<typeparametername>' non ha vincoli di classe

L'operatore TryCast viene usato con un operando di parametro di tipo che non è garantito essere un tipo riferimento.

TryCast opera solo su tipi di riferimento, ad esempio classi o interfacce. Quando si passa un parametro di tipo come argomento a TryCast, è necessario vincolare tale parametro di tipo come tipo riferimento. A tale scopo, includere una o più delle opzioni seguenti nell'elenco dei vincoli del parametro di tipo:

  • Uno o più nomi di interfaccia (l'argomento di tipo deve implementarli tutti)

  • Al massimo un nome di classe (l'argomento di tipo deve ereditare da esso)

  • Vincolo New Operator (l'argomento type deve esporre un costruttore senza parametri a cui il codice di creazione può accedere e pertanto deve essere una classe)

  • Vincolo Class (Visual Basic) ( l'argomento di tipo deve essere un tipo riferimento)

ID errore: BC30793

Per correggere l'errore

  • Se è necessario passare questo parametro di tipo a TryCast, vincolare il parametro con uno o più vincoli nell'elenco precedente.

  • Se non è possibile richiedere al parametro di tipo di accettare solo un tipo riferimento, non è possibile usarlo con TryCast. Potrebbe essere invece possibile usare la funzione CType .

Vedere anche