簡體   English   中英

如何將此Swift功能轉換為Xamarin.iOS / C#

[英]How to translate this Swift func to Xamarin.iOS/C#

我目前正在通過練習進行操作,希望將此Swift功能轉換為Xamarin.iOS / C#。 我會繼續努力,但是如果有人可以提供一些幫助,那將是很棒的。

func setCollectionViewDataSourceDelegate
    <D: protocol<UICollectionViewDataSource, UICollectionViewDelegate>>
    (dataSourceDelegate: D, forRow row: Int) {

    collectionView.delegate = dataSourceDelegate
    collectionView.dataSource = dataSourceDelegate
    collectionView.tag = row
    collectionView.reloadData()
}

我無法解決的是Swift中的方法簽名如何轉換為C#

讓我為媽媽難過的那段簽名。 是:

<D: protocol<UICollectionViewDataSource, UICollectionViewDelegate>>

上下文-表視圖的每一行都包含一個水平滾動的集合視圖。 上面的func通過willDisplayCell為tableview中的每一行調用。 例如:

override func tableView(tableView: UITableView, willDisplayCell cell:UITableViewCell, 
forRowAtIndexPath indexPath: NSIndexPath) {
    //code..

    tableViewCell.setCollectionViewDataSourceDelegate(self, forRow: indexPath.row)

}

感謝@Alexey。 正在更新需要此信息的其他任何人。 將此方法放在自定義單元類中的效果很好(我利用了UICollectionViewDelegate / Datasource可用的接口):

    public void SetCollectionViewDataSourceDelegate<T>(T dataSourceDelegate, int row) where T : IUICollectionViewDelegate, IUICollectionViewDataSource  
    {
        collectionView.Delegate = dataSourceDelegate;
        collectionView.DataSource = dataSourceDelegate;
        collectionView.Tag = row;
        collectionView.ReloadData ();
    }
void setCollectionViewDataSourceDelegate<D>(
D dataSourceDelegate, 
int row)
where D : UICollectionViewDataSource, UICollectionViewDelegate`

我不知道Xamarin Forms中的UICollectionViewDataSource, UICollectionViewDelegate類型的等效項。 它們應該是某種接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM