Skip to content

Commit d9675f7

Browse files
committed
Revert efdf372 because of #100.
1 parent 7ec2af0 commit d9675f7

File tree

5 files changed

+9
-9
lines changed

5 files changed

+9
-9
lines changed

ReClass.NET/Memory/MemoryBuffer.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public void ReadBytes(int offset, byte[] buffer)
144144
Array.Copy(data, offset, buffer, 0, buffer.Length);
145145
}
146146

147-
public T ReadObject<T>(int offset) where T : unmanaged
147+
public T ReadObject<T>(int offset) where T : struct
148148
{
149149
Contract.Requires(offset >= 0);
150150

ReClass.NET/Memory/RemoteProcess.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public byte[] ReadRemoteMemory(IntPtr address, int size)
206206
/// <typeparam name="T">Type of the value to read.</typeparam>
207207
/// <param name="address">The address to read from.</param>
208208
/// <returns>The remote object.</returns>
209-
public T ReadRemoteObject<T>(IntPtr address) where T : unmanaged
209+
public T ReadRemoteObject<T>(IntPtr address) where T : struct
210210
{
211211
var data = ReadRemoteMemory(address, Marshal.SizeOf<T>());
212212

@@ -569,7 +569,7 @@ public bool WriteRemoteMemory(IntPtr address, byte[] data)
569569
/// <param name="address">The address to write to.</param>
570570
/// <param name="value">The value to write.</param>
571571
/// <returns>True if it succeeds, false if it fails.</returns>
572-
public bool WriteRemoteMemory<T>(IntPtr address, T value) where T : unmanaged
572+
public bool WriteRemoteMemory<T>(IntPtr address, T value) where T : struct
573573
{
574574
var data = new byte[Marshal.SizeOf<T>()];
575575

ReClass.NET/ReClass.NET.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070
<CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel>
7171
<CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly>
7272
<CodeContractsAnalysisWarningLevel>3</CodeContractsAnalysisWarningLevel>
73-
<LangVersion>latest</LangVersion>
7473
</PropertyGroup>
7574
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
7675
<PlatformTarget>x86</PlatformTarget>

ReClass.NET/UI/EnumComboBox.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
using System;
2-
using System.Collections.Generic;
1+
using System.Collections.Generic;
32
using System.ComponentModel;
43
using System.Diagnostics.Contracts;
54
using System.Linq;
65
using System.Windows.Forms;
76
using ReClassNET.Extensions;
7+
using ReClassNET.Util;
88

99
namespace ReClassNET.UI
1010
{
11-
public class EnumComboBox<TEnum> : ComboBox where TEnum : Enum
11+
public class EnumComboBox<TEnum> : ComboBox where TEnum : struct
1212
{
1313
#region Properties
1414

@@ -52,7 +52,7 @@ public class EnumComboBox<TEnum> : ComboBox where TEnum : Enum
5252
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
5353
public new TEnum SelectedValue
5454
{
55-
get => ((EnumDescriptionDisplay<TEnum>)base.SelectedItem).Value;
55+
get => ((EnumDescriptionDisplay<TEnum>)base.SelectedItem)?.Value ?? default(TEnum);
5656
set => base.SelectedItem = base.Items.Cast<EnumDescriptionDisplay<TEnum>>().PredicateOrFirst(e => e.Value.Equals(value));
5757
}
5858

ReClass.NET/UI/EnumDescriptionDisplay.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
using System.Linq;
66
using System.Reflection;
77
using ReClassNET.Extensions;
8+
using ReClassNET.Util;
89

910
namespace ReClassNET.UI
1011
{
11-
public class EnumDescriptionDisplay<TEnum> where TEnum : Enum
12+
public class EnumDescriptionDisplay<TEnum> where TEnum : struct
1213
{
1314
public TEnum Value { get; internal set; }
1415
public string Description { get; internal set; }

0 commit comments

Comments
 (0)