using System;
using System.Reflection;
+using System.Globalization;
+using System.Configuration.Assemblies;
using System.Runtime.Serialization;
namespace System.Reflection {
- public class AssemblyName : ISerializable // ICloneable, , IDeserializationCallback
+ [Serializable]
+ public sealed class AssemblyName : ISerializable // ICloneable, , IDeserializationCallback
{
- string name;
+ string name = "";
string codebase;
- Version version;
+ int major, minor, build, revision;
+ CultureInfo cultureinfo;
+ AssemblyNameFlags flags;
+ AssemblyHashAlgorithm hashalg;
+ StrongNameKeyPair keypair;
+ AssemblyVersionCompatibility versioncompat;
public AssemblyName ()
{
- name = null;
}
- public AssemblyName (SerializationInfo si, StreamingContext sc)
+ internal AssemblyName (SerializationInfo si, StreamingContext sc)
{
name = si.GetString ("_Name");
codebase = si.GetString ("_CodeBase");
- version = (Version)si.GetValue ("_Version", typeof (Version));
+ Version = (Version)si.GetValue ("_Version", typeof (Version));
}
- public virtual string Name {
+ public string Name {
get {
return name;
}
}
}
- public virtual string CodeBase {
+ public string CodeBase {
get {
return codebase;
}
}
}
- public virtual Version Version {
+ [MonoTODO]
+ public string EscapedCodeBase {
get {
- return version;
+ return codebase;
+ }
+ }
+
+ public CultureInfo CultureInfo {
+ get {
+ return cultureinfo;
+ }
+
+ set {
+ cultureinfo = value;
+ }
+ }
+
+ public AssemblyNameFlags Flags {
+ get {
+ return flags;
+ }
+
+ set {
+ flags = value;
+ }
+ }
+
+ [MonoTODO]
+ public string FullName {
+ get {
+ return name;
+ }
+ }
+
+ public AssemblyHashAlgorithm HashAlgorithm {
+ get {
+ return hashalg;
}
set {
- version = value;
+ hashalg = value;
+ }
+ }
+
+ public StrongNameKeyPair KeyPair {
+ get {
+ return keypair;
+ }
+
+ set {
+ keypair = value;
+ }
+ }
+
+ public Version Version {
+ get {
+ return new Version (major, minor, build, revision);
+ }
+
+ set {
+ major = value.Major;
+ minor = value.Minor;
+ build = value.Build;
+ revision = value.Revision;
+ }
+ }
+
+ public AssemblyVersionCompatibility VersionCompatibility {
+ get {
+ return versioncompat;
+ }
+
+ set {
+ versioncompat = value;
}
}
return false;
}
+ [MonoTODO]
+ public byte[] GetPublicKeyToken() {
+ return new byte[0];
+ }
+
public void GetObjectData (SerializationInfo info, StreamingContext context)
{
info.AddValue ("_Name", name);
info.AddValue ("_CodeBase", codebase);
- info.AddValue ("_Version", version);
+ info.AddValue ("_Version", Version);
}
}
}