소스 검색

Don't crash AddConverter on duplicates

ManlyMarco 5 년 전
부모
커밋
bc1c51c137
1개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 3
      BepInEx/Configuration/TomlTypeConverter.cs

+ 4 - 3
BepInEx/Configuration/TomlTypeConverter.cs

@@ -153,15 +153,16 @@ namespace BepInEx.Configuration
 
 		/// <summary>
 		/// Add a new type converter for a given type. 
-		/// If a different converter is already added, an ArgumentException is thrown.
+		/// If a different converter is already added, this call is ignored and false is returned.
 		/// </summary>
-		public static void AddConverter(Type type, TypeConverter converter)
+		public static bool AddConverter(Type type, TypeConverter converter)
 		{
 			if (type == null) throw new ArgumentNullException(nameof(type));
 			if (converter == null) throw new ArgumentNullException(nameof(converter));
-			if (CanConvert(type)) throw new ArgumentException("The specified type already has a converter assigned to it", nameof(type));
+			if (CanConvert(type)) return false;
 
 			TypeConverters.Add(type, converter);
+			return true;
 		}
 
 		/// <summary>