Const和ReadOnly关键字在C#7.3中如何工作

时间:2019-01-15 12:42:29

标签: c#

在使用const和readonly时发现最常见的错误。我碰到了this post

我尝试过一个示例,其中程序集AssemblyA分别包含const和只读100和100。现在,当在AssemblyB中使用AssemblyA时,应用程序会获取正确的值。

但是当我将Const&ReadOnly更改为200和200并重建AssemblyB时。 AssemblyB正在消耗200和200。我只想复制const值更改时的情况。

以下是场景

  1. 当const和readonly值从(100,100)更改为(200,200)AssemblyA时,运行AssemblyB它将消耗更新的值(200,200)
  2. 当const和readonly值从(100,100)更改为(200,200)并保存.cs时。然后AssemblyB消耗值(100,100)。这是帖子告诉我们的吗?
  3. 当const和readonly值从(100,100)更改为(200,200)并保存.cs时。然后,重新组装AssemblyB,它消耗更新的值(200,200)。

所以有人告诉我这些const和readonly变量在处理不同程序集时如何工作。

请帮助您进行理解。这将是很大的帮助 提前致谢 下面是代码:

AssemblyA

public class ClassA
{
    public const int Constant = 400;
    public readonly int ReadOnly = 400;
}

程序集B

using ConstantAndReadOnly;

namespace ConsumerClass
{
    class Program
    {
        public void GetConstAndReadOnly()
        {
            Console.WriteLine(ClassA.Constant);
            ClassA obj = new ClassA();
            var readOnly = obj.ReadOnly;
            Console.WriteLine(readOnly);

        }

        static void Main(string[] args)
        {
            Program objClass = new Program();
            objClass.GetConstAndReadOnly();
            Console.ReadKey();
        }
    }
}  

0 个答案:

没有答案