首页 > 解决方案 > C#:不能包含来自另一个命名空间的类

问题描述

我有一个奇怪的问题。

我创建了两个类 AdvertisementHelper(namespace AdvertisementHelper) 和 Doof (namespace blabla),现在我想使用类 AdvertisementHelper 中类 Doof 的方法 bad_code。

广告Helper.cs:

using blabla;
namespace AdvertisementHelper
{
    class AdvertisementHelper
    {
        Doof d = new Doof();
        d.bad_code();
    }
}

Doof.cs:

namespace blabla
{
    class Doof
    {
        public void bad_code()
        {
        }
    }
}

这不是我的第一个 C# 程序,我已经做过很多次了,我从来没有遇到过这样的问题。blabla 和 AdvertisementHelper 是同一个 Visual Studio 项目的一部分。 在此处输入图像描述

d.bad_code 和 bad_code 未在此上下文中定义

.NET 框架 4.7.2

标签: c#.netvisual-studio

解决方案


您不能让代码(即方法调用)在类中的任何地方浮动。

class AdvertisementHelper
{
    Doof d = new Doof(); // <= OK, because interpreted as class field
    d.bad_code();        // <= doesn't work!
}

例如,您需要将其放入方法中。

class AdvertisementHelper
{
    Doof d = new Doof(); // <= OK, because interpreted as class field

    public void Execute()
    {
        d.bad_code();    // <= Inside a method = OK!
    }
}

推荐阅读