Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;“内部”;修改器&;面向对象原则_C#_.net_Oop_Internal - Fatal编程技术网

C# &引用;“内部”;修改器&;面向对象原则

C# &引用;“内部”;修改器&;面向对象原则,c#,.net,oop,internal,C#,.net,Oop,Internal,我听说有些人反对使用internalmodifier将类和成员隐藏在声明它们的程序集之外,因为它违背了OOP的主要原则。这是真的吗 这是真的吗 不,这不是真的。内部可见性修改器有其用法。有些类不希望在其包含程序集之外使用,但仍希望在程序集中公开。例如,如果您正在设计一个API,那么可能存在一些您不想向API的使用者公开的类 这是真的吗 不,这不是真的。内部可见性修改器有其用法。有些类不希望在其包含程序集之外使用,但仍希望在程序集中公开。例如,如果您正在设计一个API,可能有一些类您不想向API的

我听说有些人反对使用
internal
modifier将类和成员隐藏在声明它们的程序集之外,因为它违背了OOP的主要原则。这是真的吗

这是真的吗

不,这不是真的。内部可见性修改器有其用法。有些类不希望在其包含程序集之外使用,但仍希望在程序集中公开。例如,如果您正在设计一个API,那么可能存在一些您不想向API的使用者公开的类

这是真的吗


不,这不是真的。内部可见性修改器有其用法。有些类不希望在其包含程序集之外使用,但仍希望在程序集中公开。例如,如果您正在设计一个API,可能有一些类您不想向API的消费者公开。

人们可以自由发表自己的意见。我不知道“内部”是如何击败OOP的主要原则的。。也许一个链接可以帮助我评估他们的立场

我使用internal来隐藏我不希望程序集之外的任何人使用的类型。在我看来,这是赞成OOP的

  • 公开行为但隐藏实现
  • 尽可能使用最严格的访问权限

e、 从2个公共类型中重构一些公共代码;这种新类型一开始是内部的。除非一些客户机/测试驱动我提高可见性。此外,我有时将其用作临时欺骗,以避免为某些类型编写测试(所有公共类型都应该有测试)。这对我有好处

人们可以自由发表意见。我不知道“内部”是如何击败OOP的主要原则的。。也许一个链接可以帮助我评估他们的立场

我使用internal来隐藏我不希望程序集之外的任何人使用的类型。在我看来,这是赞成OOP的

  • 公开行为但隐藏实现
  • 尽可能使用最严格的访问权限

e、 从2个公共类型中重构一些公共代码;这种新类型一开始是内部的。除非一些客户机/测试驱动我提高可见性。此外,我有时将其用作临时欺骗,以避免为某些类型编写测试(所有公共类型都应该有测试)。这对我有好处

internal关键字允许开发人员在另一个程序集使用该程序集时隐藏该程序集的成员。例如,在.NET framework中有许多内部类型,这意味着它们仅在内部程序集使用时才需要,并且从库外部看不到。这是程序集级别的封装。

internal关键字允许开发人员隐藏程序集的成员(如果它被另一个程序集使用)。例如,在.NET framework中有许多内部类型,这意味着它们仅在内部程序集使用时才需要,并且从库外部看不到。这是程序集级别的封装。

但是内部方法。。。我们使用它们是因为我们不能再使用“测试引用”了。但是内部方法。。。我们使用它们是因为我们不能再使用“测试引用”了。询问他们是否使用过sealed关键字。熟练设计师的真实标志。询问他们是否使用过sealed关键字。熟练设计师的真正标志。