【发布时间】:2012-01-17 09:45:01
【问题描述】:
我开发了一些代码来测试。我知道:如果我使用内部方法,我们可以将我的方法隐藏在另一个命名空间中,例如:
public vs. internal methods on an internal class
如何在主程序中隐藏 Add 方法;如果我按 dot(.) intellisense 向我显示 Base 方法中的 Add 方法。我不想看到从 MyClass1 派生实例的 add 方法?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyDb;
namespace BaseClassUygulamasi
{
class Program
{
static void Main(string[] args)
{
new MyClass1().Save("123456789", "ali.yilmaz");
}
}
}
namespace MyDb
{
public abstract class MyBaseClass
{
private Dictionary<string, string> dic { get; set; }
public MyBaseClass()
{
}
internal void Add(string key, string value)
{
dic.Add(key, value);
}
}
public class MyClass1 : MyBaseClass
{
public MyClass1()
: base()
{
}
public void Save(string TCKimlikNo, string AdSoyAd)
{
base.Add(TCKimlikNo, AdSoyAd);
}
}
}
【问题讨论】:
-
internal 用于程序集,而不用于命名空间!
标签: c# .net oop design-patterns