聞かれていることがよく理解できませんが、とりあえず演算子のオーバーロードの方法については以下のサイトが役に立ちます。
演算子のオーバーロード
次のコードで確かめると、Class1 には Add と op_Addition という二つの静的メソッドがあり、その二つの用法は全く同じであることがわかります。
ここより、op_Addition は演算子のオーバーロードによって実装されたメソッドであることが推定可能です。
つまり、演算子のオーバーロードは静的メソッドによって実装されています。
C#
1using System;
2using System.Reflection;
3
4namespace ConsoleApp1
5{
6 class Program
7 {
8 static void Main(string[] args)
9 {
10 Console.WriteLine(Class1.Add(new Class1(2), new Class1(3)));
11 Console.WriteLine(new Class1(2) + new Class1(3));
12 foreach (var method in typeof(Class1).GetMethods(BindingFlags.Static | BindingFlags.Public))
13 {
14 Console.WriteLine(method.Name);
15 }
16 Console.WriteLine(typeof(Class1).GetMethod("op_Addition").Invoke(null, new[] { new Class1(2), new Class1(3) }));
17 Console.ReadKey();
18 }
19 }
20
21 class Class1
22 {
23 public Class1(int value)
24 {
25 Value = value;
26 }
27
28 public int Value { get; private set; }
29
30 public static Class1 Add(Class1 a, Class1 b)
31 {
32 return new Class1(a.Value + b.Value);
33 }
34
35 public static Class1 operator +(Class1 a, Class1 b)
36 {
37 return new Class1(a.Value + b.Value);
38 }
39
40 public override string ToString()
41 {
42 return Value.ToString();
43 }
44 }
45}