小编Man*_*kas的帖子

如何在C#中传递任意数量的参数

好的,我需要设计一种方法来跟踪每个项目的存在量.大约有26个项目.我还需要一种方法来确定是否存在某些项目组合.

例如,这是纸牌游戏的引擎.每张卡都有不同的类型,每张卡都可以附加卡.需要将卡片附加到卡片上以便玩家在游戏中做某些事情.为了简化这个程序,我想做点什么

if (meetsCrit(2, water, 4, ground))
{
    do this()
}
else
{
    displayerror()
}
Run Code Online (Sandbox Code Playgroud)

编辑:解决了!

我使用了下面几篇文章中描述的技术组合.特别提到:

Jon Skeet,Rinat Abdullin,Frank,

无论如何这里是我做的我创建了一个名为pair的类,它存储我正在寻找的类型,以及该类型的数量.然后我使用Predicate Delegate查找所有类型并计算有多少,然后我将它与我搜索的数字进行比较并分别返回true或false.

这是它的代码

public bool meetsCrit(params Pair[] specs)
{
    foreach (Pair i in specs)
    {
        if (!(attached.FindAll(delegate(Card c) { return c.type == i.type; }).Count >= i.value))
        {
            return false;
        }

    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

c# arrays parameters

2
推荐指数
4
解决办法
9198
查看次数

如何从方法返回文件类型

是否可以File从方法返回对象controller

目前所有的逻辑都是在控制器中完成的,所以我得到了这个:

public ActionResult Download(Guid id){
    //some code to get file name, file stream and file content
    return File(fileStream, file.ContentType, file.Name);
}
Run Code Online (Sandbox Code Playgroud)

但我想在控制器中得到的是:

//this is in the controller
public ActionResult Download(Guid id){
    var file = GetFile(fileId);
    return file;
}
Run Code Online (Sandbox Code Playgroud)

并且这个包含文件本身所有信息的方法应该在服务层:

//this is NOT in the controller
public File GetFile(Guid fileId){
    //some logic to get all stuff

    return File(fileStream, attachment.ContentType, attachment.Name);
}
Run Code Online (Sandbox Code Playgroud)

但是,我在这种情况下收到消息

“不可调用成员‘文件’不能像方法一样使用。”

我能做到这一点,还是应该忘记这一点并坚持我现在拥有的?

编辑:建议的问题没有回答我的问题!

我可以下载文件,但我希望在我的控制器中有一个返回File类型或其他内容的方法,并且这个方法应该在服务层的另一个项目中。所以这个方法应该以 object() 的形式返回文件,而不是流,而不是文件名或类型。而在控制器中,我只会调用此方法并仅返回此方法返回的内容。

c# asp.net-mvc file

2
推荐指数
1
解决办法
3万
查看次数

Javascript代码在Firefox中不起作用

在图像中单击我编写用于调用java的代码

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
        <title>New Page 1</title>
    </head>
    <body>
        <table cellpadding="0" cellspacing="0" width="311">
            <tr>
                <td height="14">
                    <img onclick ="SignIn();" border="0" src="../images/Sign_In.gif" width="80" height="28">
                </td>
            </tr>
        </table>
        <script type="text/javascript" language="JavaScript">
            function SignIn(){
                alert();
            }
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

上面的代码在Internet Explorer中工作正常,但在FireFox中没有.问题是什么?

javascript firefox

1
推荐指数
1
解决办法
989
查看次数

从 AutoDesk Vault (Vault 2015 SDK) 下载文件,c# 代码给出错误

我正在尝试使用C#代码从 Vault(Vault 2015 SDK)下载文件。尝试了与此处提到的完全相同的方法:http : //inventorhub.autodesk.com/discussions/threads/301/post/5600165 但得到错误

在执行用于下载文件的相应代码行时,请求失败,HTTP 状态为 404:未找到”。

请在下面找到我的示例代码:

using Autodesk.Connectivity.WebServicesTools;
using Autodesk.Connectivity.WebServices; 

UserPasswordCredentials login = new UserPasswordCredentials("servername", "myVault", "username", "Password", true);
using (WebServiceManager serviceManager = new WebServiceManager(login))
{
    Autodesk.Connectivity.WebServices.Folder folder = serviceManager.DocumentService.GetFolderByPath("$/Myfolder");
    Autodesk.Connectivity.WebServices.File[] files = serviceManager.DocumentService.GetLatestFilesByFolderId(folder.Id, false);
    if (files != null && files.Any())
    {
        foreach (Autodesk.Connectivity.WebServices.File file in files)
        {
            //Sample code to download the files
            string localPath = AppDomain.CurrentDomain.BaseDirectory;
            Autodesk.Connectivity.WebServices.File localFile = serviceManager.DocumentService.GetFileById(file.Id);
            var FileDownloadTicket = serviceManager.DocumentService.GetDownloadTicketsByFileIds(new long[] { file.Id });
            FilestoreService fileStoreService …
Run Code Online (Sandbox Code Playgroud)

c# autodesk autodesk-vault

1
推荐指数
1
解决办法
2454
查看次数