/// <summary> /// Синхронный доступ к ресурсу /// </summary> /// <returns></returns> #pragma warning disable 1998 public async Task <IResource> GetResource() { #pragma warning restore 1998 if (CheckCanReturnCurrent()) { return(Resource); } if (ResourceResponseState.Init == State) { if (null == Resource) { Resource = InternalGetResource(); State = ResourceResponseState.Finished; } } if (ResourceResponseState.Error == State) { if (null == LastError) { LastError = new ResourceException("some error in request"); } throw LastError; } return(Resource); }
private IResource InternalGetResource() { State = ResourceResponseState.Get; var result = new WebResource(NativeResponse, Config); return(result); }