2016-04-14 35 views
-2

ben zincirleme kullanılabilecek statik bir yöntem oluşturmak çalışıyorum Aramalar, ancak kullanılabilir seçenekler zinciri içinde önceki yöntemin bağlıC# Statik Yöntemler

Örneğin için MethodXX sadece Yöntemia eğer bir seçenek olacaktır() aradı.

something.MethodA() YöntemXX(); .

MethodB denirdi ise

, sonra kullanılabilir isteğe bağlı) (MethodYY

something.MethodB() MethodYY olacak;

+0

/arayüz. Hangi problemle karşılaştın? –

+0

Statik yöntemler kullanarak akıcı bir arayüz oluşturmaya çalışıyormuşsunuz gibi görünüyorsunuz. Bu, akışkan arayüzlerinin mevcut nesne örneğinin geri verilmesine bağlı olduğundan bu imkansızdır. Statik yöntemlerin geçerli örneğe erişimi yoktur. –

+1

@RobertMoskal Akıcı bir arabirim, kendisini tanımlayan bir nesne olarak * tanımlanmamış * değildir. Akıcı bir arayüz oluşturmanın sadece bir * (son derece kötü) yolu. – Servy

cevap

0

Farklı yöntemlerle

ile farklı türde dönmek gerekir Fluent Syntax

üzerinde bir göz atın teşekkür ederiz

Exemple:

public ReturnTypeB void MethodA(this TypeA) 
    { 
     //do work 
     return ReturnTypeB; 
    } 
    public ReturnTypeC void MethodB(this ReturnTypeB) 
    { 
     //do work 
     return ReturnTypeC; 
    } 
Her yöntemin bu kendi türünü dönmelidir
+0

Bu iyi çalışıyor, teşekkürler – JPKI

İlgili konular