예제 #1
0
파일: Resource.cs 프로젝트: zzfeed/pe
        public async Task <ResourceData> GetDataAsync(ResourceLanguage language)
        {
            if (!_languages.ContainsKey(language))
            {
                return(null);
            }

            var languageEntry = _languages[language];
            var entry         = await languageEntry.GetDataEntryAsync().ConfigureAwait(false);

            var data = entry.GetData();

            return(data);
        }
예제 #2
0
파일: Resource.cs 프로젝트: zzfeed/pe
        public async Task <byte[]> GetBytesAsync(ResourceLanguage language)
        {
            if (!_languages.ContainsKey(language))
            {
                throw new PortableExecutableImageException(Image, $"Cannot find specified language: {language}");
            }

            var data = await GetDataAsync(language).ConfigureAwait(false);

            if (data == null)
            {
                throw new PortableExecutableImageException(Image, $"Cannot find resource data for language: {language}");
            }

            return(await data.GetBytesAsync().ConfigureAwait(false));
        }
예제 #3
0
파일: Resource.cs 프로젝트: zzfeed/pe
 public ResourceData GetData(ResourceLanguage language)
 {
     return(GetDataAsync(language).GetAwaiter().GetResult());
 }
예제 #4
0
파일: Resource.cs 프로젝트: zzfeed/pe
        public async Task CopyToAsync(Stream stream, ResourceLanguage language)
        {
            var data = await GetDataAsync(language).ConfigureAwait(false);

            await data.CopyToAsync(stream).ConfigureAwait(false);
        }
예제 #5
0
파일: Resource.cs 프로젝트: zzfeed/pe
 public void CopyTo(Stream stream, ResourceLanguage language)
 {
     CopyToAsync(stream, language).GetAwaiter().GetResult();
 }
예제 #6
0
파일: Resource.cs 프로젝트: zzfeed/pe
 public byte[] GetBytes(ResourceLanguage language)
 {
     return(GetBytesAsync(language).GetAwaiter().GetResult());
 }