Basit bir veri erişim sınıfı oluşturarak F # arabirimleriyle biraz oynuyorum.F # içerisindeki arabirimleri kullanmanın daha basit bir yolu var mı?
arabirimidir:
benim endişelendiğim biraz olduğum şeytype UserAccess() =
let db = dbSchema.GetDataContext()
interface IUserAccess with
member this.GetUsers cond =
let query = query {
for row in db.Users do
select row }
query |> Seq.where cond
member this.GetAllUsers() =
(this:>IUserAccess).GetUsers (fun _ -> true)
Ben GetAllUsers
arıyorum yoludur: sınıfta
type IUserAccess =
abstract member GetUsers : (dbSchema.ServiceTypes.Users -> bool) -> dbSchema.ServiceTypes.Users seq
abstract member GetAllUsers : unit -> dbSchema.ServiceTypes.Users seq
, ben bu şekilde yöntemleri arıyorum işlev, özellikle (this:>IUserAccess)
bölümüyle. Aynı arabirimde uygulanan yöntemleri çağırmanın en basit yolu nedir?
Basit ben GetUsers
ve GetAllUsers
hem arayüz uygulaması çağırarak sonra UserAccess()
sınıfın içinde doğrudan GetUsers
yöntemi oluşturma ve aklınıza gelebilecek seçenek, ama ben kaçınmak istiyorum uygulanan yeni bir özel yöntem anlamına gelir. Başka seçenek var mı?
Teşekkürler, bu tam olarak aradığım basit iyileştirme! –