using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace Xuexi
{
class Program
{
static void Main(string[] args)
{
ProductFactory productFactory = new ProductFactory();
WrapFactory wrapFactory = new WrapFactory();
Func<Product> func1 = new Func<Product>(productFactory.MakePizza);
Func<Product> func2 = new Func<Product>(productFactory.MakeToyCar);
Box box1 = wrapFactory.WrapProduct(func1);
Box box2 = wrapFactory.WrapProduct(func2);
Console.WriteLine(box1.Product.Name);
Console.WriteLine(box2.Product.Name);
Console.ReadKey();
}
}
class Product
{
public string Name { get; set; }
}
class Box
{
public Product Product { get; set; }
}
class WrapFactory
{
public Box WrapProduct(Func<Product> getProduct)
{
Box box = new Box();
Product product = getProduct.Invoke();
box.Product = product;
return box;
}
}
class ProductFactory
{
public Product MakePizza()
{
Product product = new Product();
product.Name = "Pizza";
return product;
}
public Product MakeToyCar()
{
Product product = new Product();
product.Name = "ToyCar";
return product;
}
}
}
我是一個萌新,這段代碼有幾點想請教各位大佬們,跪謝!
1,public 后面的方法回傳型別是Product 為什么可以用類的名字呢?用類的名字有什么意義呢?
class Box
{
public Product Product { get; set; }
}
uj5u.com熱心網友回復:
這不是方法,這是屬性,Propertyuj5u.com熱心網友回復:
沒啥特別意義,一個是類名,一個是屬性名uj5u.com熱心網友回復:
對,這里的Product為物體物件,可以回傳一個物體物件。Product這個物件可以跟資料庫的表對應。也可以回傳的自定義成員。Name即為成員變數,你也可以加上age,sex,tel等成員一起回傳,若要入庫,你就把這個物件作為引數寫庫,這么寫的好處,就是代碼簡潔,便于擴展維護。uj5u.com熱心網友回復:
參見基礎教程https://docs.microsoft.com/zh-cn/dotnet/csharp/properties即可。uj5u.com熱心網友回復:
基礎教程照著中文版的大致學習一遍。uj5u.com熱心網友回復:
box類中的Product屬性,只能保存Product型別的資料資訊uj5u.com熱心網友回復:
product作為一個屬性。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/85062.html
標籤:C#
