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”?

StackOverflow https://stackoverflow.com/questions/4712712

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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top