Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / BufferBuilder.cs / 1305376 / BufferBuilder.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.IO; using System.Globalization; internal class BufferBuilder { byte[] buffer; int offset; internal BufferBuilder() : this(256) { } internal BufferBuilder(int initialSize) { this.buffer = new byte[initialSize]; } void EnsureBuffer(int count) { if (count > this.buffer.Length - this.offset) { byte[] newBuffer = new byte[((buffer.Length * 2)>(buffer.Length + count))?(buffer.Length*2):(buffer.Length + count)]; Buffer.BlockCopy(this.buffer, 0, newBuffer, 0, this.offset); this.buffer = newBuffer; } } internal void Append(byte value) { EnsureBuffer(1); this.buffer[this.offset++] = value; } internal void Append(byte[] value) { Append(value, 0, value.Length); } internal void Append(byte[] value, int offset, int count) { EnsureBuffer(count); Buffer.BlockCopy(value, offset, this.buffer, this.offset, count); this.offset += count; } internal void Append(string value) { if (!String.IsNullOrEmpty(value)) Append(value, 0, value.Length); } internal void Append(string value, int offset, int count) { EnsureBuffer(count); for (int i = 0; i < count; i++) { char c = value[offset+i]; if ((ushort)c > 0xFF) throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, c)); this.buffer[this.offset + i] = (byte)c; } this.offset += count; } internal int Length { get { return this.offset; } } internal byte[] GetBuffer() { return this.buffer; } internal void Reset() { this.offset = 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IBuiltInEvidence.cs
- ControlUtil.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- followingsibling.cs
- EdmPropertyAttribute.cs
- RIPEMD160Managed.cs
- ValidatorCollection.cs
- SizeIndependentAnimationStorage.cs
- ComNativeDescriptor.cs
- CollectionBuilder.cs
- ClientSettingsProvider.cs
- MimeParameters.cs
- HtmlLink.cs
- Label.cs
- OledbConnectionStringbuilder.cs
- RegularExpressionValidator.cs
- StickyNoteContentControl.cs
- ApplyTemplatesAction.cs
- NativeCppClassAttribute.cs
- TraceSource.cs
- TextLine.cs
- NamespaceDecl.cs
- TypeSystemProvider.cs
- XmlSignatureManifest.cs
- WorkflowViewElement.cs
- WebPartZoneBase.cs
- METAHEADER.cs
- ConstructorNeedsTagAttribute.cs
- SystemIcons.cs
- CacheDependency.cs
- MenuAutoFormat.cs
- BaseResourcesBuildProvider.cs
- TemplatedMailWebEventProvider.cs
- FamilyMap.cs
- RoutedEventArgs.cs
- BinaryCommonClasses.cs
- InvokeMemberBinder.cs
- MdiWindowListStrip.cs
- SqlFactory.cs
- IUnknownConstantAttribute.cs
- ClientConfigurationSystem.cs
- CompilerParameters.cs
- UnsafeNetInfoNativeMethods.cs
- PriorityBinding.cs
- XamlToRtfParser.cs
- WebPartConnectionsCloseVerb.cs
- EncryptedData.cs
- HtmlPhoneCallAdapter.cs
- HWStack.cs
- TimelineGroup.cs
- SqlCommandBuilder.cs
- LifetimeServices.cs
- BrushConverter.cs
- TrustLevel.cs
- EventLogPermissionEntry.cs
- NativeMethods.cs
- PngBitmapDecoder.cs
- ControlCollection.cs
- CodeGen.cs
- ParameterBuilder.cs
- StrongNamePublicKeyBlob.cs
- PartialCachingControl.cs
- InternalBase.cs
- ProviderUtil.cs
- EmissiveMaterial.cs
- GridPattern.cs
- StringSource.cs
- SchemaMerger.cs
- AuthorizationRuleCollection.cs
- CellPartitioner.cs
- DeploymentExceptionMapper.cs
- Interop.cs
- FunctionImportElement.cs
- RenderData.cs
- CqlParser.cs
- RecordManager.cs
- ObfuscationAttribute.cs
- SettingsAttributeDictionary.cs
- odbcmetadatacollectionnames.cs
- Application.cs
- UpdateCommand.cs
- LinkedResource.cs
- CodeTypeReference.cs
- ColumnCollection.cs
- WindowsGrip.cs
- PartialClassGenerationTaskInternal.cs
- TouchPoint.cs
- Debug.cs
- MetadataItem.cs
- EngineSiteSapi.cs
- DesignTimeVisibleAttribute.cs
- XPathNavigator.cs
- DataGridPagerStyle.cs
- DataObjectCopyingEventArgs.cs
- RSAPKCS1KeyExchangeFormatter.cs
- ArglessEventHandlerProxy.cs
- XamlWriter.cs
- XmlArrayItemAttributes.cs
- FileUtil.cs
- TableDetailsRow.cs