﻿<?xml version="1.0" encoding="utf-8"?><Type Name="RandomNumberGenerator" FullName="System.Security.Cryptography.RandomNumberGenerator"><TypeSignature Maintainer="auto" Language="C#" Value="public abstract class RandomNumberGenerator : IDisposable" /><TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit RandomNumberGenerator extends System.Object implements class System.IDisposable" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.IDisposable</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Cryptographic random number generators create cryptographically strong random values.</para><para>Application code does not directly use this class. This abstract class is provided as the base class for all cryptographic random number generators.</para><para>For an implementation of a cryptographic random number generator, use the derived class <see cref="T:System.Security.Cryptography.RNGCryptoServiceProvider" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents the abstract class from which all implementations of cryptographic random number generators derive.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected RandomNumberGenerator ();" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You cannot create an instance of an abstract class. Application code will create a new instance of a derived class. For an implementation of a cryptographic random number generator, use the derived class <see cref="T:System.Security.Cryptography.RNGCryptoServiceProvider" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of <see cref="T:System.Security.Cryptography.RandomNumberGenerator" />.</para></summary></Docs></Member><Member MemberName="Create"><MemberSignature Language="C#" Value="public static System.Security.Cryptography.RandomNumberGenerator Create ();" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Security.Cryptography.RandomNumberGenerator Create() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.RandomNumberGenerator</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new instance of a cryptographic random number generator.</para></returns></Docs></Member><Member MemberName="Create"><MemberSignature Language="C#" Value="public static System.Security.Cryptography.RandomNumberGenerator Create (string rngName);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Security.Cryptography.RandomNumberGenerator Create(string rngName) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.RandomNumberGenerator</ReturnType></ReturnValue><Parameters><Parameter Name="rngName" Type="System.String" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, creates an instance of the specified implementation of a cryptographic random number generator.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new instance of a cryptographic random number generator.</para></returns><param name="rngName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the random number generator implementation to use. </param></Docs></Member><Member MemberName="Dispose"><MemberSignature Language="C#" Value="public void Dispose ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Call Dispose when you are finished using the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" />. The Dispose method leaves the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> in an unusable state. After calling Dispose, you must release all references to the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> so the garbage collector can reclaim the memory that the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> was occupying.</para><para>For more information, see <format type="text/html"><a href="A17B0066-71C2-4BA4-9822-8E19332FC213">Cleaning Up Unmanaged Resources</a></format> and <format type="text/html"><a href="eb4e1af0-3b48-4fbc-ad4e-fc2f64138bf9">Implementing a Dispose Method</a></format>.</para><block subset="none" type="note"><para>Always call Dispose before you release your last reference to the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" />. Otherwise, the resources it is using will not be freed until the garbage collector calls the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> object's Finalize method.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> class.</para></summary></Docs></Member><Member MemberName="Dispose"><MemberSignature Language="C#" Value="protected virtual void Dispose (bool disposing);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Dispose(bool disposing) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="disposing" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is called by the public Dispose() method and the Finalize method. Dispose() invokes the protected Dispose(Boolean) method with the <paramref name="disposing" /> parameter set to true. Finalize invokes Dispose with <paramref name="disposing" /> set to false.</para><para>When the <paramref name="disposing" /> parameter is true, this method releases all resources held by any managed objects that this <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> references. This method invokes the Dispose() method of each referenced object.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> and optionally releases the managed resources.</para></summary><param name="disposing"><attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources; false to release only unmanaged resources.</param></Docs></Member><Member MemberName="GetBytes"><MemberSignature Language="C#" Value="public abstract void GetBytes (byte[] data);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetBytes(unsigned int8[] data) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="data" Type="System.Byte[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The length of the byte array determines how many random bytes are produced.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of values.</para></summary><param name="data"><attribution license="cc4" from="Microsoft" modified="false" />The array to fill with cryptographically strong random bytes. </param></Docs></Member><Member MemberName="GetNonZeroBytes"><MemberSignature Language="C#" Value="public virtual void GetNonZeroBytes (byte[] data);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetNonZeroBytes(unsigned int8[] data) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="data" Type="System.Byte[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The length of the byte array determines how many random bytes are produced.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of nonzero values.</para></summary><param name="data"><attribution license="cc4" from="Microsoft" modified="false" />The array to fill with cryptographically strong random nonzero bytes. </param></Docs></Member></Members></Type>