当我将私有变量移动到基类中时,我应该如何设置它们?
本文关键字:何设置 我应该 设置 变量 移动 基类 | 更新日期: 2023-09-27 18:18:27
我有以下代码在我所有的控制器:
public class PackagesController : BaseController
{
private IAccountService _account;
private IDataSourceService _dataSource;
private IPackageService _package;
private IProductService _product;
private IContentService _content;
private ISequenceService _sequence;
它们都继承自BaseController。我对公共、私人和受保护之间的区别有点困惑。我想我可以把这些移到bascontroller中。如果我这样做了,那么我应该使用private, protected还是有其他的修饰符
如果您希望派生类具有访问权限,则可以使用Protected。Private甚至会阻止派生类访问,这不是您想要的。Public将允许任何代码访问它们,这里不需要这样做,因为您通常不需要从外部访问Controller成员。
将这些变量从PackagesController移动到BaseController后,如果它们只在BaseController中使用,那么它们应该是私有的,如果它们将在PackagesController和BaseController中使用;bascontroller,它们应该受到保护。我不建议你对变量使用public
似乎你应该使用protected
后,移动这些字段到你的BaseController。
Private表示字段对于其声明的类型是私有的。——你将只能在BaseController
中使用这些字段,在你移动它们之后。
Protected表示字段可以在所有派生类型中使用,但不能从外部使用。-你将能够在BaseController and all derived ones
中使用这些字段后,你将移动它们。
Public意味着它可以在任何地方使用。——你将能够在移动这些字段后从任何地方使用它们。
你可以从MSDN和这个SO问题得到更多。