C'è un modo per fare riferimento a una certa classe / interfaccia / ... racchiudendolo con il suo spazio dei nomi piuttosto che una direttiva using “utilizzando namespace_name”?
-
11-10-2019 - |
Domanda
C'è un modo per fare riferimento a una certa classe / interfaccia / ... racchiudendolo con il suo spazio dei nomi piuttosto che una direttiva using "utilizzando namespace_name"?!
Come, sto lavorando su un sito web, che utilizza SAP .NET connettore. Ho già aggiunto un punto di riferimento per il connettore ddl, e mentre la sua riferimento namespace "usando namespace_name", o set di spazio dei nomi di classe ad un altro piuttosto che il connettore namespace,
ho ottenuto errore classi del connettore con il messaggio di errore "Il tipo o dello spazio dei nomi non è stato trovato, che le manca un un riferimento all'assembly direttiva using o?".
Ma mentre si cambia il nome dello spazio dei nomi al connettore namespace, tutto sta andando bene?!
// Set namespace to be IDestinationConfiguration interface namespace.
// Using this, everything is going well.
namespace SAP.Middleware.Connector
{
public class ConnectorConfiguration : IDestinationConfiguration
{
}
}
// Using that way; it's not working, and got an error regarding IDestinationConfiguration even it belongs to refernced namespace.
using SAP.Middleware.Connector;
public class ConnectorConfiguration : IDestinationConfiguration
{
}
Quindi, tipi di connettori mi ha costretto a namespace serie di classe per il loro spazio dei nomi!
È possibile? Se sì, come?
Soluzione
E 'questo quello che cercate?
public class ConnectorConfiguration: SAP.Middleware.Connection.IDestinationConfiguration
{
}
È possibile scrivere tutto il codice senza usings se vi piace, non vi resta che utilizzare il nome del namespace completo per ogni classe / interfaccia in cui l'utilizzo non viene utilizzato.
Se si tenta in questo modo:
using SAPTEST = SAP.Middleware.Connection;
namespace TestNamespace
{
public class ConnectorConfiguration: SAPTEST.IDestinationConfiguration
{
}
}
Se funziona, ma non funziona se si rimuove SAPTEST, quindi IDestinationConfiguration deve essere dichiarata in un altro spazio dei nomi troppo.
Altri suggerimenti
mi sono imbattuto in questo troppo e non riusciva a capire fino a quando ho finalmente trovato la risposta su un post all'indirizzo http://forums.sdn.sap.com/thread.jspa?threadID=1876430 , l'ultima riga che diceva:
"Inoltre, assicurarsi che il framework di destinazione è" .NET v4.0" NOT "NET v4.0 Client" -. In questo modo si ottiene lo spazio dei nomi System.Web che è necessario "
Il mio progetto si indirizzava framework di destinazione 4.0 client. Una volta che ho cambiato in appena .NET Freamework 4.0, tutti i riferimenti ha funzionato come previsto.