[英]Accessing property of Controller class from another class in C#
我的代碼可能有點冗長但很容易理解,因為我已盡力解釋它,所以請與我交談。 我有一個控制器類:
public class QueryController : ControllerBase
{
private readonly ILogger<QueryController> log;
public bool ISReadCol { get; set; } //Focus on this part
public QueryController(ILogger<QueryController> logger)
{
this.log = logger;
}
[HttpGet("/api/v2/{database}/Tables/{table}")]
public async Task<IActionResult> GetColFields(
[FromRoute] string database,
[FromRoute] string table,
CancellationToken cancel)
{
//some code
ISReadCol = true; //setting property to true
return await GetQueryResult(database);
}
private async Task<IActionResult> GetQueryResult(string database)
{
//some code
return new QueryResult(pool, log); //[1]
}
}
現在,我想訪問“QueryResult”類中的屬性“ISReadCol”。
“QueryResult.cs”如下:
class QueryResult : ActionResult
{
private readonly ILogger log;
private readonly ConnectionPoolEntry poolEntry;
public QueryResult(ConnectionPoolEntry poolEntry, ILogger log)
{
this.log = log;
this.poolEntry = poolEntry;
}
public override async Task ExecuteResultAsync(ActionContext context)
{
**//HOW CAN I ACCESS THE "ISReadCol" property here???.**
}
}
如果我在“QueryResult”構造函數中傳遞“QueryController”實例,例如:
private readonly QueryController QR;
public QueryResult(ConnectionPoolEntry poolEntry, ILogger log, QueryController QR)
{
this.log = log;
this.poolEntry = poolEntry;
this.QR = QR;
}
and then QR.ISReadCol, but that doesn't work too as [1] call need to be updated too.
剛剛將“ISReadCol”作為參數傳遞並相應地修改了函數調用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.