является полем, но используется как тип C#

#c#

#c#

Вопрос:

У меня есть 2 проекта (библиотеки)

Для Ass1.cs у меня есть:

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

namespace Ass1
{
    public class Class1
    {

        public void print()
        {

            Console.WriteLine("Hello");
        }

    }
}
  

Ass2 — это еще одна библиотека, которая содержит ссылку на Ass1. Здесь я получаю
сообщение об ошибке для cd — это поле, но используется как тип?

Ass2.cs:

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


/*  Class1 is in project Ass1 , import project Ass1 */
using Ass1;


    namespace Ass2
    {
        public class Class2

        {

            Class1 cd = new Class1();  /* gives error: is afield but is used like a type*/

            cd.print();
        }
    }
  

Комментарии:

1. Потому что ваш код не находится внутри функции

2. проверьте мои ответы и отметьте как ответ, если это решило вашу проблему.

Ответ №1:

Попробуйте поместить свой код внутри функции или метода

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

/*  Class1 is in project Ass1 , import project Ass1 */
using Ass1;


namespace Ass2
{
    public class Class2

    {
        public void foo()
        {
           Class1 cd = new Class1();  /* gives error: is afield but is used like a type*/

           cd.print();
        }

    }
}
  

Ответ №2:

поместите свой код в метод или конструктор

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


namespace Ass2
{
    public class Class2

    {
       public Class2
       {
        Class1 cd = new Class1();  
        cd.print();
       }
    }
}