Есть ли способ ссылаться на определенный класс / интерфейс / ..., заключив его в свое пространство имен, а не в директиву using “using namespace_name”?

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

Вопрос

Есть ли способ ссылаться на определенный класс / интерфейс/...заключив его в свое пространство имен, а не в директиву using "using namespace_name" ?!

Поскольку я работаю над веб-сайтом, который использует SAP .NET connector.Я уже добавил ссылку на connector ddl, и при этом ссылаюсь на его пространство имен "используя namespace_name", или устанавливаю пространство имен класса в другое, а не в пространство имен connector,

Я получил ошибку, касающуюся классов соединителей, с этим сообщением об ошибке "Не удалось найти тип или пространство имен, вам не хватает директивы using или ссылки на сборку?".

Но при смене имени пространства имен на пространство имен соединителя все идет хорошо?!

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

Итак, типы соединителей вынудили меня установить пространство имен class в их пространство имен!

Возможно ли это?Если да, то каким образом?

Это было полезно?

Решение

Это то, чего ты добиваешься?

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

}

Вы можете написать весь свой код без usings, если хотите, вам просто нужно использовать полное имя пространства имен для каждого класса / интерфейса, где using не используется.

Если вы попробуете это:

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

Если это работает, но это не сработает, если вы удалите SAPTEST, тогда IDestinationConfiguration также должен быть объявлен в другом пространстве имен.

Другие советы

Я тоже столкнулся с этим и не смог понять, пока я наконец не нашел ответ на посте в http://forums.sdn.sap.com/thread.jspa?threadid=1876430, последняя строка, которая сказала:

«Кроме того, убедитесь, что ваша целевая структура - .net v4.0« Не ».NET v4.0 Клиент» - таким образом, вы получаете необходимое пространство имен System.Web ».

Мой проект был нацелен на целевую структуру клиента 4.0. Как только я изменил его на только .NET FREAMEWORK 4.0, все ссылки работали, как и ожидалось.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top