2
有沒有辦法在c#中標記一個方法,以便它只能在構造函數中運行?基本上,我有我需要在構造函數中的基本列更新只讀字符串數組的負荷,所以我做了以下內容:你只能在構造函數中運行的方法
public CMSBlogContext(ICMSRelationshipContext relationshipContext)
{
_relationshipContext = relationshipContext;
ColumnNames.AddBaseColumns(ref _blogAuthorColumns);
ColumnNames.AddBaseColumns(ref _blogCardColumns);
ColumnNames.AddBaseColumns(ref _blogCategoryColumns);
ColumnNames.AddBaseColumns(ref _blogPageColumns);
ColumnNames.AddBaseColumns(ref _blogPostColumns);
}
我想我可以通過列移動到一個單獨的整理這件事功能如下所示:
public CMSBlogContext(ICMSRelationshipContext relationshipContext)
{
_relationshipContext = relationshipContext;
AddBaseColumns();
}
private void AddBaseColumns()
{
ColumnNames.AddBaseColumns(ref _blogAuthorColumns);
ColumnNames.AddBaseColumns(ref _blogCardColumns);
ColumnNames.AddBaseColumns(ref _blogCategoryColumns);
ColumnNames.AddBaseColumns(ref _blogPageColumns);
ColumnNames.AddBaseColumns(ref _blogPostColumns);
}
但很明顯這抱怨只讀只能在構造函數中進行更新,那麼有沒有一種方法,使只能在構造函數中運行(或相當的方法,是有辦法將這些只讀更新放入不在構造函數中的方法,但只能在構造函數中運行)?
問題在於:如果AddBaseColumns本身調用一個方法,該方法只由'AddCBaseColumns'調用,因此被構造函數*暗指*調用,該怎麼辦?你會如何標記最後的方法? – HimBromBeere
沒有名爲'AddBaseColumns'的函數,創建一個名爲GetBaseColumns的對象,然後可以將其分配給構造函數中的東西。 – DavidG
其驚人的問題。調查部分方法可能有助於 – Ramankingdom