代码实例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 输出参数引用类型sample_10._15_
{
class Program
{
static void Main(string[] args)
{
Student stu = null;//无需创建实例,直接调用StudentFactory类里的静态方法Create()
bool b = StudentFactory.Create("Edward", 23, out stu);//将静态方法Create()的结果赋给b和stu
if(b==true)
{
Console.WriteLine("Student name is {0},Age is {1}", stu.Name, stu.Age);
}
}
}
class Student//包含两个属性
{
public string Name{get;set;}
public int Age { get; set; }
}
class StudentFactory//包含一个方法
{
public static bool Create(string stuName,int stuAge,out Student result)//创建静态方法,在调用时就无需创建实例
{
result = null;
if (string.IsNullOrEmpty(stuName))//调用系统方法,如果stuName是空则返回false
{
return false;
}
if(stuAge<20||stuAge>80)
{
return false;
}
result = new Student() { Name = stuName, Age = stuAge };
return true;//方法为bool类型,不管什么结果都要有返回值
}
}
}
执行结果为: