using System;
using System.Linq;
class ReturnValueAttribute : Attribute
{
public object val { get; set; }
public ReturnValueAttribute(object v) {val = v; }
}
public class Test
{
public static void Main()
{
// your code goes here
int i = foo();
Console.WriteLine(i);
}
[ReturnValue(100)]
public static int foo()
{
var rtn = typeof(Test).GetMethod("foo")
.GetCustomAttributes(typeof(ReturnValueAttribute), false).FirstOrDefault();
return (int)((ReturnValueAttribute)rtn).val;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCmNsYXNzIFJldHVyblZhbHVlQXR0cmlidXRlIDogQXR0cmlidXRlCnsKCXB1YmxpYyBvYmplY3QgdmFsIHsgZ2V0OyBzZXQ7IH0KCXB1YmxpYyBSZXR1cm5WYWx1ZUF0dHJpYnV0ZShvYmplY3Qgdikge3ZhbCA9IHY7IH0KfQoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlpbnQgaSA9IGZvbygpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKGkpOwoJfQoJCglbUmV0dXJuVmFsdWUoMTAwKV0KCXB1YmxpYyBzdGF0aWMgaW50IGZvbygpCgl7CgkJdmFyIHJ0biA9IHR5cGVvZihUZXN0KS5HZXRNZXRob2QoImZvbyIpCgkJCS5HZXRDdXN0b21BdHRyaWJ1dGVzKHR5cGVvZihSZXR1cm5WYWx1ZUF0dHJpYnV0ZSksIGZhbHNlKS5GaXJzdE9yRGVmYXVsdCgpOwoJCXJldHVybiAoaW50KSgoUmV0dXJuVmFsdWVBdHRyaWJ1dGUpcnRuKS52YWw7Cgl9Cn0=