c# - What is the difference between IRandomAccessStream and RandomAccessStream? -


i have used following code save taken image:

private async void button_click_2(object sender, routedeventargs e)     {        storagefile photo =        await windows.storage.knownfolders.pictureslibrary.getfileasync("image.jpg");        bitmapimage bmp = new bitmapimage();       using (irandomaccessstream stream = await photo.openasync(fileaccessmode.read))     {         bmp.setsource(stream);     }     img.source = bmp;   }   

what use of irandomaccessstream , difference on replacing randomaccessstream?

it's confusing because have similar names. related not in way 1 assume.

randomaccessstream static helper class.

irandomaccessstream interface concreete random access streams implement, such filerandomaccessstream , inmemoryrandomaccessstream.

this means not interchangeable. use randomaccessstream perform operations, namely copying data between 2 instances of other streams.

photo.openasync return filerandomaccessstream unless need specific functionality concrete class provides, should stick programming against interface, irandomaccessstream.


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -