2016-01-15 3 views
5

Я новичок в C#, и я пытаюсь распечатать номер из другого пространства имен в моей основной. Я предоставлю код ниже.Как работает пространство имен в C#?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("hello world" + x); 
      Console.ReadLine(); 
     } 
    } 
} 

namespace Applicaton 
{ 

    class Program2 
    { 
     public int Test() 
     { 
      int x = 5; 
      return x; 
     } 
    } 
} 

Я хочу, чтобы x из класса Program2 появился в моей основной программе, которая находится в классе программы.

ответ

1

Просто позвоните классу.

Program2 p = new Program2(); 
Console.WriteLine(p.Test().toString()); 

и что когда-либо в программе Program2 вы можете позвонить ему. или назначить его.

затем распечатайте его.

0

Вам нужно создать экземпляр класса и вызвать метод на нем.

Program2 program = new Program2(); 
int x = program.Test(); 
Console.WriteLine("hello world" + x); 

Убедитесь, что вы включили пространство имен:

using Application; 
+1

@ user700390 OP явно пытается напечатать это значение, не уверен, что вы имеете в виду. – Cyral

0

программирование не ведут себя, как это. Пространства имен, изучите некоторые объектно-ориентированные принципы.

Что вам нужно, это «новое» или создать экземпляр объекта Program2, который может вызвать метод Test().

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Application; 

namespace ConsoleApplication1 
{ 
    class Program 
     { 
      static void Main(string[] args) 
      { 
       Program2 program = new Program2(); 
       //Below I am calling the Test() method knowing that Test() will return a value to save from having to initialize another variable. 
       Console.WriteLine("hello world" + program.Test()); 
      } 
     } 
    } 
    namespace Applicaton 
    { 

     class Program2 
     { 
      public int Test() 
      { 
       int x = 5; 
       return x; 
      } 
     } 
    } 
3

Вы можете изменить свой код, как показано ниже. Поскольку ваш Program2 определен в другом классе, любым способом вам придется полностью квалифицировать его с именем пространства имен при доступе к нему.

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("hello world" + new Applicaton.Program2().Test()); 
      Console.ReadLine(); 
     } 
    } 
} 
2

Сначала создайте приложение Decalare в качестве пространства имен, на котором указано пространство имен, а затем установите program2 как общедоступный, установите x как общедоступные свойства для программы2. затем используйте класс program2 в основном.

Ниже приведен исходный код.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Applicaton; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Program2 p= new Program2(); 
      Console.WriteLine("hello world" + p.x); 
      Console.ReadLine(); 
     } 
    } 
} 

namespace Applicaton 
{ 

    public class Program2 
    { 
     public int x; 
     public int Test() 
     { 
      x = 5; 
      return x; 
     } 
    } 
} 
Смежные вопросы