using System;
namespace ConsoleApplication5
{
public class Myclass
{
public string value1, value2;
}
class Program
{
static void Main(string[] args)
{
Myclass myclass = new Myclass();
myclass.value1 = "100";
Console.WriteLine("Change前" + myclass.value1);
Change(myclass);
Console.WriteLine("Change後:" + myclass.value1);
myclass.ChangeExtension("909");
Console.WriteLine("ChangeExtension後" + myclass.value1);
Console.ReadKey();
}
static void Change(Myclass _myclass)
{
_myclass.value1 = "999";
}
}
public static class Extensions
{
public static void ChangeExtension(this Myclass _myclass, string value)
{
_myclass.value1 = value;
}
}
}
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIENvbnNvbGVBcHBsaWNhdGlvbjUKewogICAgcHVibGljIGNsYXNzIE15Y2xhc3MKICAgIHsKICAgICAgICBwdWJsaWMgc3RyaW5nIHZhbHVlMSwgdmFsdWUyOwogICAgfQoKICAgIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICBNeWNsYXNzIG15Y2xhc3MgPSBuZXcgTXljbGFzcygpOwogICAgICAgICAgICBteWNsYXNzLnZhbHVlMSA9ICIxMDAiOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiQ2hhbmdl5YmNIiArIG15Y2xhc3MudmFsdWUxKTsKICAgICAgICAgICAgQ2hhbmdlKG15Y2xhc3MpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiQ2hhbmdl5b6MOiIgKyBteWNsYXNzLnZhbHVlMSk7CiAgICAgICAgICAgIG15Y2xhc3MuQ2hhbmdlRXh0ZW5zaW9uKCI5MDkiKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkNoYW5nZUV4dGVuc2lvbuW+jCIgKyBteWNsYXNzLnZhbHVlMSk7CiAgICAgICAgICAgIENvbnNvbGUuUmVhZEtleSgpOwoKICAgICAgICB9CgogICAgICAgIHN0YXRpYyB2b2lkIENoYW5nZShNeWNsYXNzIF9teWNsYXNzKQogICAgICAgIHsKICAgICAgICAgICAgX215Y2xhc3MudmFsdWUxID0gIjk5OSI7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgY2xhc3MgRXh0ZW5zaW9ucwogICAgewogICAgICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBDaGFuZ2VFeHRlbnNpb24odGhpcyBNeWNsYXNzIF9teWNsYXNzLCBzdHJpbmcgdmFsdWUpCiAgICAgICAgewogICAgICAgICAgICBfbXljbGFzcy52YWx1ZTEgPSB2YWx1ZTsKICAgICAgICB9CiAgICB9Cn0K