¿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”?
-
11-10-2019 - |
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?
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.