Moved Shared.cs from Nuclex.Math to Nuclex.Support because this class can be quite useful in other locations as well; added CPL copyright header to all files in Nuclex.Math; fixed copyright date in AssemblyInfo.cs of Nuclex.Math and Nuclex.Support

git-svn-id: file:///srv/devel/repo-conversion/nusu@92 d2e56fa2-650e-0410-a79f-9358c0239efd
This commit is contained in:
Markus Ewald 2008-10-22 20:45:13 +00:00
parent 1cc45237ba
commit ddff1d8353
4 changed files with 49 additions and 4 deletions

View File

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion> <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{9118C4C7-DC1E-4BFB-A99D-2A22B7590D7F}</ProjectGuid> <ProjectGuid>{9118C4C7-DC1E-4BFB-A99D-2A22B7590D7F}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
@ -111,6 +111,7 @@
</Compile> </Compile>
<Compile Include="Source\Scheduling\ThreadCallbackOperation.cs" /> <Compile Include="Source\Scheduling\ThreadCallbackOperation.cs" />
<Compile Include="Source\Scheduling\ThreadOperation.cs" /> <Compile Include="Source\Scheduling\ThreadOperation.cs" />
<Compile Include="Source\Shared.cs" />
<Compile Include="Source\StringHelper.cs" /> <Compile Include="Source\StringHelper.cs" />
<Compile Include="Source\StringHelper.Test.cs"> <Compile Include="Source\StringHelper.Test.cs">
<DependentUpon>StringHelper.cs</DependentUpon> <DependentUpon>StringHelper.cs</DependentUpon>

View File

@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyProduct("Nuclex.Support")] [assembly: AssemblyProduct("Nuclex.Support")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("Nuclex Development Labs")] [assembly: AssemblyCompany("Nuclex Development Labs")]
[assembly: AssemblyCopyright("Copyright © Nuclex Development Labs 2007")] [assembly: AssemblyCopyright("Copyright © Nuclex Development Labs 2008")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

44
Source/Shared.cs Normal file
View File

@ -0,0 +1,44 @@
#region CPL License
/*
Nuclex Framework
Copyright (C) 2002-2008 Nuclex Development Labs
This library is free software; you can redistribute it and/or
modify it under the terms of the IBM Common Public License as
published by the IBM Corporation; either version 1.0 of the
License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
IBM Common Public License for more details.
You should have received a copy of the IBM Common Public
License along with this library
*/
#endregion
using System;
namespace Nuclex.Support {
/// <summary>Manages a globally shared instance of the given Type</summary>
/// <typeparam name="SharedType">
/// Type of which a globally shared instance will be provided
/// </typeparam>
public static class Shared<SharedType> where SharedType : new() {
/// <summary>Returns the global instance of the class</summary>
public static SharedType Instance {
[System.Diagnostics.DebuggerStepThrough]
get {
return instance;
}
}
/// <summary>Stored the globally shared instance</summary>
private static readonly SharedType instance = new SharedType();
}
} // namespace Nuclex.Support

View File

@ -64,12 +64,12 @@ namespace Nuclex.Support {
} }
if(offset < 0) { if(offset < 0) {
throw new ArgumentOutOfRangeException( throw new ArgumentOutOfRangeException(
"offset", "Argument out of range, non-negative number required" "offset", "Argument out of range, non-negative number required"
); );
} }
if(count < 0) { if(count < 0) {
throw new ArgumentOutOfRangeException( throw new ArgumentOutOfRangeException(
"count", "Argument out of range, non-negative number required" "count", "Argument out of range, non-negative number required"
); );
} }
if((text.Length - offset) < count) { if((text.Length - offset) < count) {