¿Hay una manera de hacer referencia a una clase determinada / interfaz / ... encerrándolo con su espacio de nombres en lugar de una directiva using “usando namespace_name”?

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

Pregunta

¿Hay una manera de hacer referencia a una clase determinada / interfaz / ... encerrándolo con su espacio de nombres en lugar de una directiva using "usando namespace_name"?!

Como, estoy trabajando en un sitio web, que utiliza SAP .NET conector. Ya añadido una referencia para ddl conector, y al hacer referencia a su espacio de nombres "usando namespace_name", o conjunto de espacio de nombres de clase a otra en lugar de espacio de nombres de conector,

Tengo error con respecto a las clases de conectores con ese mensaje de error "El tipo o espacio no se pudo encontrar, ¿falta una directiva using o una referencia de ensamblado?".

Pero mientras se cambia el nombre del espacio de nombres de espacio de nombres de conector, todo va bien?!

// 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
{
}

Por lo tanto, los tipos de conectores me obligó a juego de espacio de nombres de la clase a su espacio de nombres!

¿Es esto posible? Si es así, ¿cómo?

¿Fue útil?

Solución

Is this what you are after?

public class ConnectorConfiguration: SAP.Middleware.Connection.IDestinationConfiguration
{

}

You can write all your code without usings if you like, you just need to use the fully qualified namespace name for every class/interface where the using isn't used.

If you try this:

using SAPTEST = SAP.Middleware.Connection;
namespace TestNamespace 
{
   public class ConnectorConfiguration: SAPTEST.IDestinationConfiguration
   {
   }
}

If that works, but it doesn't work if you remove SAPTEST, then IDestinationConfiguration must be declared in another namespace too.

Otros consejos

I ran into this too and couldn't figure it out until I finally found the answer on a post at http://forums.sdn.sap.com/thread.jspa?threadID=1876430, the last line which said:

"Also, make sure your target framework is ".NET v4.0" NOT ".NET v4.0 Client" -- that way you get the System.Web namespace that is required."

My project was targeting 4.0 client target framework. Once I changed it to just .NET Freamework 4.0, all the references worked as expected.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top