我有另一个简单的(我认为)难倒我。我在我的一个控件中编写了一个方法,该方法在给定文件名的情况下获取 CMS 中文件的最新版本(即,无论文件位于哪个文件夹中)。我发现它足够有用,我想我会把它放在我的 CMSToolbox 类中,但是当我这样做时,我不能再使用Where()
CMS 提供的 FileManager 类的方法(它返回一个列表)。
这是我的课程的简化示例:
using System;
using System.Collections.Generic;
using CMS.CMS;
using CMS.Core;
using CMS.Web;
namespace CoA.CMS {
public class ToolBox
{
public CMS.CMS.File getLatestFileVersionByFilename(string filename, int GroupID)
{
IList<CMS.CMS.File> fileWithName = FileManager.GetGroupAll(false, GroupID).Where(file => currentFileVersionIsNamed(file, filename)).ToList<CMS.CMS.File>();
return getLatestFileFromListOfFiles(fileWithName);
}
protected bool currentFileVersionIsNamed(CMS.CMS.File file, string name)
{
}
protected CMS.CMS.File getLatestFileFromListOfFiles(CMS.CMS.File file)
{
}
}
}
当我在 Control 的上下文中执行完全相同的操作时(实际上是由 CMS 提供的扩展类Control
),我可以访问该Where()
方法,但在我的 ToolBox 类中我没有。是什么赋予了?我认为 anIList
始终允许从您使用它的任何地方访问相同的方法。
我又错了,哈哈:)
编辑:Filemanager.GetGroupAll()
返回一个CMSList
扩展IList