All Topics  
Base Class Library

 

   Email Print
   Bookmark   Link






 

Base Class Library



 
 
The Base Class Library (BCL) is a standard library
Standard library

A standard library for a programming language is the library that is conventionally made available in every implementation of that language. In some cases, the library is described directly in the programming language specification; in other cases, the contents of the standard library are determined by more informal social practices in the...
 available to all languages using the .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
. .NET includes the BCL in order to encapsulate a large number of common functions, such as file reading and writing, graphic rendering, database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
 interaction, and XML document manipulation, which makes the programmer's job easier. It is much larger in scope than standard libraries for most other languages, including C++
C++

C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
, and would be comparable in scope to the standard libraries of Java
Java Class Library

The Java Class Library is a set of Library #Dynamic linking that Java applications can call at runtime. Because the Java Platform is not dependent on any specific operating system, applications cannot rely on any of the existing libraries....
.






Discussion
Ask a question about 'Base Class Library'
Start a new discussion about 'Base Class Library'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Base Class Library (BCL) is a standard library
Standard library

A standard library for a programming language is the library that is conventionally made available in every implementation of that language. In some cases, the library is described directly in the programming language specification; in other cases, the contents of the standard library are determined by more informal social practices in the...
 available to all languages using the .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
. .NET includes the BCL in order to encapsulate a large number of common functions, such as file reading and writing, graphic rendering, database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
 interaction, and XML document manipulation, which makes the programmer's job easier. It is much larger in scope than standard libraries for most other languages, including C++
C++

C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
, and would be comparable in scope to the standard libraries of Java
Java Class Library

The Java Class Library is a set of Library #Dynamic linking that Java applications can call at runtime. Because the Java Platform is not dependent on any specific operating system, applications cannot rely on any of the existing libraries....
. The BCL is sometimes incorrectly referred to as the Framework Class Library
Framework Class Library

The Framework Class Library is a standard library and one of two core components of Microsoft .NET Framework. The FCL is a collection of thousands of reusable classes , interfaces and value types....
 (FCL), which is a superset including the Microsoft.* namespaces.

The BCL is updated with each version of the .NET Framework.

Namespaces

Some of the namespaces may or may not be officially considered part of the BCL by Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, but all are included as part of the libraries that are provided with Microsoft's implementation of the .NET Framework.

Standardized namespaces

These are the namespaces that are standardized as of the ECMA 335
Ecma International

'Ecma International' is an international, private non-profit standards organization for information and communication systems. It acquired its name in 1994, when the European Computer Manufacturers Association changed its name to reflect the organization's international reach....
 and ISO/IEC 23271:2006
International Organization for Standardization

The International Organization for Standardization , widely known as ISO , is an international standard-setting body composed of representatives from various national standards organizations....
 standards.

System : This namespace
Namespace (computer science)

A namespace is an abstract container or environment created to hold a logical grouping of unique identifiers or symbols . An identifier defined in a namespace is associated with that namespace....
 includes the core needs for programming. It includes base types like String
String (computer science)

In computer programming and some branches of mathematics, a string is an ordered sequence of symbols. These symbols are chosen from a predetermined set or alphabet....
, DateTime, Boolean
Boolean datatype

In computer science, the Boolean algebra datatype, sometimes called the logical datatype, is a primitive datatype having one of two values: Truth value and false....
, and so forth, support for environments such as the console, math functions, and base classes for attributes, exceptions, and array
Array

In computer science, an array is a data structure consisting of a group of element s that are accessed by index . In most programming languages each element has the same data type and the array occupies a contiguous area of computer memory....
s. System.Collections : Defines many common containers
Container (data structure)

In computer science, a container is a Class , a data structure, or an abstract data type whose instances are collections of other objects. They are used to store objects in an organized way following specific access rules....
 or collections used in programming, such as lists
List (computing)

In computer science, a list is an ordered Multiset of entity/items.In the context of object-oriented programming languages, a list is defined as an instance of an abstract data type , formalizing the concept of an order theoryed Collection class of entity....
, queues, stack
Stack

Stack may refer to:...
s, hashtables
Hash table

In computer science, a hash table, or a hash map, is a data structure that associates Unique key with value .The primary operation that hash functions support efficiently is a lookup: given a key , find the corresponding value ....
, and dictionaries. It includes support for generics
Generic programming

Generic programming is a style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters and was pioneered by Ada which appeared in 1983....
. System.Diagnostics : Gives you the ability to diagnose your application. It includes event logging, performance counters, tracing, and interaction with system processes. System.IO : Allows you to read from and write to different streams, such as files or other data streams. Also provides a connection to the file system
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
. System.Net : Provides an interface "for many of the protocols used on networks today", such as HTTP, FTP, and SMTP. Secure communication is supported by protocols such as SSL. System.Reflection : Provides an object view of types, methods, and fields. You have "the ability to dynamically create and invoke types". It exposes the API to access the Reflective programming
Reflection (computer science)

In computer science, reflection is the process by which a computer program can observe and modify its own structure and behaviour. The programming paradigm driven by reflection is called reflective programming....
 capabilities of CLR. System.Runtime : Allows you to manage the runtime behavior of an application or the CLR
Common Language Runtime

The Common Language Runtime is a core component of Microsoft .NET Framework initiative. It is Microsoft's implementation of the Common Language Infrastructure standard, which defines an execution environment for program code....
. Some of the included abilities are interoping with COM
Component Object Model

Component Object Model is an interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages....
 or other native code, writing distributed applications
Distributed computing

Distributed computing deals with hardware and software systems containing more than one processing element or Computer data storage element, Concurrent computing processes, or multiple programs, running under a loosely or tightly controlled regime....
, and serializing
Serialization

In computer science, in the context of data storage and transmission, serialization is the process of converting an object into a sequence of bits so that it can be stored on a storage medium or transmitted across a computer network connection link....
 objects into binary
Binary file

A binary file is a computer file which may contain any type of data, encoded in Binary numeral system form for computer storage and processing purposes; for example, Document file format containing formatted text....
 or SOAP
SOAP

SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks....
. System.Security : "Provides the underlying structure of the common language runtime security system." This namespace allows you to build security into your application based on policy and permissions. It provides services such as cryptography
Cryptography

Cryptography is the practice and study of hiding information. In modern times cryptography is considered a branch of both mathematics and computer science and is affiliated closely with information theory, computer security and engineering....
. System.Text : Supports various encodings, regular expressions, and a more efficient mechanism for manipulating strings (StringBuilder). System.Threading : Helps facilitate multithreaded programming. It allows the synchronizing of "thread activities and access to data" and provides "a pool of system-supplied threads".

Non standardized namespaces

These are the namespaces that are not standardized as of the ECMA
Ecma International

'Ecma International' is an international, private non-profit standards organization for information and communication systems. It acquired its name in 1994, when the European Computer Manufacturers Association changed its name to reflect the organization's international reach....
 and/or ISO
International Organization for Standardization

The International Organization for Standardization , widely known as ISO , is an international standard-setting body composed of representatives from various national standards organizations....
 standards, and are specific to Microsoft implementation. However, even if implementing them is not mandatory, some of them have been implemented completely or partially by other .NET implementations.

System.CodeDom : This library provides the ability to create code and run it, at runtime. System.ComponentModel : Provides the ability to implement the run-time and design-time behavior of components and controls. It contains the infrastructure "for implementing attributes and type converters, binding to data sources, and licensing components". System.Configuration : Provides the infrastructure for handling configuration data. System.Data : This namespace represents the ADO.NET
ADO.NET

ADO.NET is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the .NET Framework....
 architecture, which is a set of computer software components that can be used by programmers to access data and data services. System.Deployment : Allows you to customize the way your application upgrades when using ClickOnce
ClickOnce

ClickOnce is a Microsoft technology for deploying Windows Forms or Windows Presentation Foundation-based software, also called Smart clients. It is similar to Java Web Start for the Java Platform....
. System.DirectoryServices : Provides easy access to Active Directory
Active Directory

Active Directory is a technology created by Microsoft that provides a variety of network services, including:* Lightweight Directory Access Protocol-like directory services...
 from managed code. System.Drawing : Provides access to GDI+
Graphics Device Interface

The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component that is responsible for representing graphical objects and transmitting them to output devices such as computer display and computer printer....
 graphics functionality, including support for 2D and vector graphics, imaging, printing, and text services. System.Globalization : Provides help for writing internationalized applications. "Culture-related information, including the language, the country/region, the calendars in use, [and] the format patterns for dates, currency, and numbers" can be defined. System.Management : Allows you to query for information, "such as how much free space is left on the disk, what is the current CPU utilization, which database a certain application is connected to, and much more." System.Media : Provides you the ability to play system sounds and .wav files. System.Messaging : Allows you "to connect to, monitor, and administer message queues on the network and send, receive, or peek messages." .NET Remoting
.NET Remoting

.NET Remoting is a Microsoft application programming interface for Inter-process communication released in 2002 with the 1.0 version of .NET Framework....
 is another name for some of the functionality provided. This namespace is being superseded by Windows Communication Foundation
Windows Communication Foundation

Windows Communication Foundation, or just WCF, is a programming framework used to build applications that inter-communicate. WCF is the part of the .NET Framework dedicated to communications....
. System.Linq
Language Integrated Query

Language Integrated Query is a Microsoft .NET Framework component that adds native data Query language capabilities to List of .NET languages....
: Defines the IQueryable interface and related methods, that lets LINQ
Language Integrated Query

Language Integrated Query is a Microsoft .NET Framework component that adds native data Query language capabilities to List of .NET languages....
 providers to be plugged in. System.Linq.Expressions: Allows Delegates
Delegate (.NET)

A delegate is a form of Type safety function pointer used by the .NET Framework. Delegates specify a Method to call and optionally an Object to call the method on....
 and Lambda expressions to be represented as expression trees, so that the high-level code can be examined and processed at runtime. System.Resources : Allows you to manage many different resources in the application in order to internationalize an application for different cultures and languages. System.ServiceProcess : Allows you to create applications that run as a service within Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. System.Timers : "Allows you to raise an event on a specified interval." System.Transactions : Provides support for local or distributed transactions. System.Windows.Forms : Provides access to the native Windows interface elements by wrapping the existing Windows API
Windows API

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems....


See also

  • ADO.NET
    ADO.NET

    ADO.NET is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the .NET Framework....
  • ASP.NET
    ASP.NET

    ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites, web applications and web services....
  • Windows Forms
    Windows Forms

    Windows Forms is the name given to the graphical user interface application programming interface included as a part of Microsoft .NET Framework, providing access to the native Microsoft Windows interface elements by wrapping the existing Windows API in managed code....
  • Java Class Library
    Java Class Library

    The Java Class Library is a set of Library #Dynamic linking that Java applications can call at runtime. Because the Java Platform is not dependent on any specific operating system, applications cannot rely on any of the existing libraries....
  • Standard library
    Standard library

    A standard library for a programming language is the library that is conventionally made available in every implementation of that language. In some cases, the library is described directly in the programming language specification; in other cases, the contents of the standard library are determined by more informal social practices in the...


Other capabilities of the .NET framework

  • Windows Presentation Foundation
    Windows Presentation Foundation

    The Windows Presentation Foundation , formerly code-named Avalon, is a graphical subsystem in .NET Framework 3.0 , which uses a markup language, known as Extensible Application Markup Language, for rich user interface development....
  • Windows Communication Foundation
    Windows Communication Foundation

    Windows Communication Foundation, or just WCF, is a programming framework used to build applications that inter-communicate. WCF is the part of the .NET Framework dedicated to communications....
  • Windows Workflow Foundation
    Windows Workflow Foundation

    Windows Workflow Foundation is a Microsoft technology for defining, executing, and managing workflows. This technology was first released in November 2006 as a part of .NET Framework 3.0....
  • Windows CardSpace
    Windows CardSpace

    Windows CardSpace , is Microsoft's client software for the Identity Metasystem. CardSpace is an instance of a class of identity client software called an Identity Selector....


External links

  • . Microsoft Developer Network (MSDN).
  • . More information and FAQs about the BCL.
  • .
  • .