none
请问在这个例子里 私有字段 seconds 怎么console.write 出来? RRS feed

  • 问题

  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
      
        class TimePeriod
        {
          private double seconds;
    
          public double Hours
          {
            get { return seconds / 3600; }
            set { seconds = value * 3600; }
          }
        }
    
        class Program
        {
          static void Main()
          {
            TimePeriod t = new TimePeriod();
            // Assigning the Hours property causes the 'set' accessor to be called.
            t.Hours = 24;
            // Evaluating the Hours property causes the 'get' accessor to be called.
            System.Console.WriteLine("Time in hours: " + t.Hours);
                    Console.ReadKey();
          }
        }
    
      }
    
    2010年12月4日 15:19

答案

  • dear

    有关访问修饰词请参考
    http://msdn.microsoft.com/zh-cn/library/ms173121.aspx

    public
        同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。

    private
        只有同一类或结构中的代码可以访问该类型或成员。

    protected
        只有同一类或结构或者派生类中的代码可以访问该类型或成员。

    internal
        同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。

    protected internal
        同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月4日 16:42

全部回复

  • 即然设为私有的,就是不想让人访问。

     

    2010年12月4日 15:54
  • dear

    有关访问修饰词请参考
    http://msdn.microsoft.com/zh-cn/library/ms173121.aspx

    public
        同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。

    private
        只有同一类或结构中的代码可以访问该类型或成员。

    protected
        只有同一类或结构或者派生类中的代码可以访问该类型或成员。

    internal
        同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。

    protected internal
        同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月4日 16:42