Programming Life

.NET World

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 

先看下面的C#代码,能编译通过吗?为什么?

using System;

 

public class Component

{

    
private int context;

 

    
public Component(Component component)

    
{

        component.context 
= 1;

    }


}


 

答案是可以的。我们先看private修饰符的定义:私有成员只有在声明它的类或结构的主体中才可以访问。上面的代码确实是在Component的类的主体中,所以可以。但若下面的情况肯定不行。

using System;

 

public class Component

{

    
private int context;

 

    
public Component(Component component)

    
{

        component.context 
= 1;

    }


 

    
static void Main()

    
{

        Component t;

        
// 下面一行编译不过

        
// t.context;

    }


}

posted on 2008-07-06 14:05  许文科  阅读(554)  评论(1编辑  收藏  举报