2010-07-19 6 views
0

Я новичок в .Net C# кодировании. У меня есть файл aspx.cs в файле XML, и я хочу использовать эти данные для создания диаграммы в приложении silverlight, которое является частью одного и того же проекта, но веб-сайт aspx C# и приложение silverlight имеют разные пространства имен. Как я могу отправить XML-данные для чтения в приложение Silverlight в том же проекте, но в другом пространстве имен?C# пространство имен данных

ответ

3

Пространство имен не представляет границы данных; это просто часть имени. Так что если у вас есть класс, определенный в проекте так:

namespace Some.Namespace 
{ 
    class FirstClass 
    { 
     string SomeValue { get; set; } 
    } 
} 

... и затем хочет использовать этот класс внутри другого класса в другом пространстве имен в одном проекте, вам просто необходимо обратиться к FirstClass с помощью пространство имен:

namespace Some.Other.Namespace 
{ 
    class SecondClass 
    { 
     void SomeMethod() 
     { 
      Some.Namespace.FirstClass temp = new Some.Namespace.FirstClass(); 
      temp.SomeValue = "test"; 
     } 
    } 
} 

Один из вариантов, который сделает ваш код немного более кратким, чтобы добавить using директиву в файле кода для SecondClass, который позволяет обращаться к FirstClass без включения в пространстве имен каждый раз:

using Some.Namespace; 

namespace Some.Other.Namespace 
{ 
    class SecondClass 
    { 
     void SomeMethod() 
     { 
      // note how the namespace is not needed here: 
      FirstClass temp = new FirstClass(); 
      temp.SomeValue = "test"; 
     } 
    } 
} 

Это означает, что если у вас есть класс, который обрабатывает доступ к XML-файлу и который находится в каком-либо пространстве имен вашего проекта, вы должны использовать тот же класс как на странице aspx, так и в приложении silverlight.

+0

У меня есть два проекта под тем же самым решением. Один проект - сайт aspx.net, другой - приложение Silverlight. И веб-разработчик не позволит мне использовать пространство имен одного проекта в другом по какой-то причине – anon2

+0

@ anon2: если вы хотите использовать классы ProjectA в ProjectB, вам нужно добавить ссылку в ProjectB в ProjectA. –

Смежные вопросы