如何将变量从命名空间传递到引用命名空间

How to pass variable from Namespace to Reference namespace

我脑子坏了。该程序设置为向用户询问地址。一个简单的控制台问题,将用户输入放入一个字符串中。然后我希望将变量传递给引用 class 库以将字符串放入 QRcode "barcode".

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

namespace AddressInq
{
    class Program
    { 
        public class getInput
    {
        public static string input { get; set; }
    }
        static void Main(string[] args)
        {

            Console.WriteLine("Please enter the address: ");
            string input = Console.ReadLine();
        }
    }
}

二维码:

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

namespace QRmaker
{
     class program
        {

        public void codeMake()
        { 
        QRCodeGenerator generator = new QRCodeGenerator();

        QRCodeData qrCodeData = generator.CreateQrCode(input, QRCodeGenerator.ECCLevel.Q);

        QRCode qrCode = new QRCode(qrCodeData);

        Bitmap qrCodeImage = qrCode.GetGraphic(20);
        qrCodeImage.Save("Address.bmp");

        }
    }
}

试试这个:

在 QRMaker 中:

namespace QRmaker
{
    class Program
    {
        public static void codeMake(string input)
        { 
            var generator = new QRCodeGenerator();
            var qrCodeData = generator.CreateQrCode(input, QRCodeGenerator.ECCLevel.Q);
            var qrCode = new QRCode(qrCodeData);
            var qrCodeImage = qrCode.GetGraphic(20);
            qrCodeImage.Save("Address.bmp");
        }
    }
}

在地址查询中:

namespace AddressInq
{
    class Program
    { 
       static void Main(string[] args)
       {
           Console.WriteLine("Please enter the address: ");
           QRmaker.Program.codeMake(Console.ReadLine());
       }
    }
}

我所做的是将 codeMake 方法转换为 static,这样您就不必实例化 Program class 来访问它... 您必须调用 QRmaker 命名空间中的 Program class,包括 class 名称之前的命名空间:Namespace.Class.Method.