您的位置:首页 > 编程语言 > C#

c#中通过自定义隐式转换实现返回值重载

2008-11-11 11:35 417 查看
using System;

using System.Collections.Generic;

using System.Text;

namespace CountStrDemo

{

class 返回值重载

{

public static void Main(string[] args)

{

//您看看这调用处,那叫一个完美

MyReturnDemo obj = new MyReturnDemo( "aladdin" , 22 );

int i = obj.GetInfo();

string str = obj.GetInfo();

Console.WriteLine( i.ToString() );

Console.WriteLine( str );

Console.ReadLine();

}

}

class MyReturnDemo

{

public string name;

public int age;

public MyReturnDemo(string name, int age)

{

this.name = name;

this.age = age;

}

private string ReturnByString()

{

return "姓名 :" + this.name ;

}

private int ReturnByInt()

{

return this.age;

}

public MyStructTemp GetInfo()

{

return new MyStructTemp( this );

}

//结构,用做中间处理.

public struct MyStructTemp

{

private MyReturnDemo stuobj;

public MyStructTemp( MyReturnDemo obj )

{

this.stuobj = obj;

}

public static implicit operator string( MyStructTemp obj )

{

return obj.stuobj.ReturnByString();

}

public static implicit operator int( MyStructTemp obj )

{

return obj.stuobj.ReturnByInt();

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐