问题列表 - 第41047页

以通用方式从可视树中删除项目

我想从可视化树中删除FrameworkElement.由于FrameworkElement具有Parent属性,因此通过从那里删除它来解决此问题是显而易见的:

FrameworkElement childElement;
if(childElement != null && childElement.Parent != null) // In the visual tree
{
   // This line will, of course not complie:
   // childElement.Parent.RemoveFromChildren(childElement);
}
Run Code Online (Sandbox Code Playgroud)

问题是FrameworkElement的Parent属性是DependencyObject,它没有子节点的概念.所以我唯一可以看到的问题就是通过强制转换父级来查看它是否是边框,面板等(具有子级概念的元素)并从那里删除它:

FrameworkElement childElement;
if(childElement != null && childElement.Parent != null) // In the visual tree
{
   if(childElement.Parent is Panel)
   {
     (childElement.Parent as Panel).Children.Remove(childElement );
   }
   if(childElement.Parent is Border)
   {
     (childElement.Parent as Border).Child = null;
   }
}
Run Code Online (Sandbox Code Playgroud)

显然,这不是一个非常灵活的解决方案,根本不是通用的.有人可以建议一种更通用的方法从视觉树中删除元素吗?

silverlight wpf visual-tree

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

使用free()时程序发生奇怪的变化

我有点困惑.

我正在编写一个非常简单的文件系统,它基本上是: -
从一个文件中
读取一个数据块 - 从该块中
获取一个哈希
- 搜索该哈希的链接列表- 如果找不到,请附加
- 如果找到,则不执行任何操作

问题:
当我不使用free时,程序要慢得多(可能是泄漏?).

当我使用free时,程序运行得更快,块大小为128和256,但是当我尝试512(插入时崩溃)时崩溃.我在视觉工作室工作,它只是崩溃了.我得到"VS停止工作......"的消息,没有提供任何见解.

最重要的是,当我使用free而不使用它时,我会得到很多不同的结果.

任何帮助将非常感谢.

好吧,一些代码(缩写):

struct list_el
{
    char* hash;
    struct list_el* next;
    struct list_el* prev;
};  
typedef struct list_el item;

item* head, *tail;

void ins(item* ins) 
{
item* iterator = (item*)malloc(sizeof(item));
if(iterator == NULL)
{
    printf("out of memory\n");
    exit(1);
}
else if(head != NULL)
{
    iterator = head;
    while(iterator != NULL)
    {
        if(strcmp(iterator->hash, ins->hash) == 0)
        {
            //free(iterator); (problem line)
            matches++;
            return;
        }
        else if(iterator->next …
Run Code Online (Sandbox Code Playgroud)

c

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

在使用SqlDataReader时,如何在普通的旧C#对象中使用BLOB创建流?

这是场景:

  • 我们在MSSQL数据库中的blob中存储文件,例如相对较大的文档(10-300MB).
  • 我们有一个非常小的域模型,所以我们使用干净的SqlDataReader方法为我们的存储库而不是ORM,以避免不必要的依赖.
  • 我们希望在ASP.NET/ASP.NET MVC网页上使用服务器上下文中的对象.
  • 我们不想在byte []中临时存储blob,以避免服务器上的高内存使用

所以我一直在做的是实现我自己的SqlBlobReader.它继承了Stream和IDisposable,在实例化过程中,我们必须提供一个包含查询的SqlCommand,该查询返回一行包含一列,当然这是我们想要流的blob.然后我的C#域对象可以具有Stream类型的属性,该属性返回SqlBlobReader实现.然后,当流式传输到ASP.net MVC等中的FileContentStream时,可以使用此流.

它将立即使用SequentialAccess执行ExecuteReader,以启用来自MSSQL服务器的blob流.这意味着我们必须小心在使用它时尽快处理流,并且在需要时我们总是懒惰地实例化SqlBlobReader,例如在我们的域对象中使用存储库调用.

我的问题是:

  • 当使用SqlDataReader而不是ORM时,这是在普通旧域对象上实现blob流的聪明方法吗?
  • 我不是ADO.NET专家,实现看起来合理吗?

SqlBlobReader.cs:

using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;

namespace Foo
{
   /// <summary>
   /// There must be a SqlConnection that works inside the SqlCommand. Remember to dispose of the object after usage.
   /// </summary>
   public class SqlBlobReader : Stream
   {
      private readonly SqlCommand command;
      private readonly SqlDataReader dataReader;
      private bool disposed = false;
      private long currentPosition = 0;

      /// <summary>
      /// Constructor
      /// </summary>
      /// <param …
Run Code Online (Sandbox Code Playgroud)

.net c# sqldatareader stream

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

在TSQL中适当使用`IDENTITY`

可能重复:
获取插入行标识的最佳方法是什么?

什么时候适当,有人应该如何IDENTITY在T-SQL中使用不同的关键词?

  • SELECT @@ IDENTITY,
  • SELECT SCOPE_IDENTITY()
  • SELECT IDENT_CURRENT('tablename')

sql t-sql syntax identity

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

如何检查C#中文件夹的读写权限

在我的网站上,我想创建一个新文件夹,然后复制其中的一些文件,我也想html通过C#代码创建一个文件.我想知道

  1. 如何检查文件夹的读写权限
  2. 如何在项目根目录中的运行时创建html文件

我正在使用Asp.net MVC 2C#.

c# asp.net-mvc

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

如何在Objective-C中创建一个以NSString stringWithFormat作为参数的方法?

我不确定标题是否可以理解.我想要的是制作一个像NSLog方法一样有效的方法并结合以下几行?

这就是我现在所拥有的:

NSString *out = [NSString stringWithFormat:@"something %d,%d",1,2];
[self showLog:out];
Run Code Online (Sandbox Code Playgroud)

这样的方法在定义中会如何?

- (void) showLog:(NSString *) data;
Run Code Online (Sandbox Code Playgroud)

谢谢

objective-c

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

通过jsp:param传递的对象抛出javax.el.PropertyNotFoundException:在类型java.lang.String上找不到属性'foo'

我知道这可能是一个愚蠢的问题,我尝试谷歌搜索,但没有得到完美的答案.

我正在使用以下代码

<c:forEach var="aggregatedBatchProgressMetrics" items="${batchProgressMetricsList}">  
    <jsp:include page="html/tableContentsDisplayer.jsp">  
        <jsp:param name="batchProgressMetrics" value="${aggregatedBatchProgressMetrics}" />
    </jsp:include>
</c:forEach>  
Run Code Online (Sandbox Code Playgroud)

在html/tableContentsDisplayer.jsp里面,我有以下内容

<c:set var="aggregatedBatchProgressMetrics">${param.batchProgressMetrics}</c:set>    
    <tr>  
        <td class="tdcenter">${aggregatedBatchProgressMetrics["clientId"]}</td>    
        <td class="tdcenter">${aggregatedBatchProgressMetrics["instrumentStats"]["totalImntsCompleted"]}</td>  
        <td class="tdcenter">${aggregatedBatchProgressMetrics["instrumentStats"]["totalImntsRemaining"]}</td>
    </tr>  
Run Code Online (Sandbox Code Playgroud)

aggregatedBatchProgressMetrics是我从c得到的:forEach是com.xyz.AggregatedBatchProgressMetrics类型的对象,而不是String,从它将其视为String对象的例外.我在bean里面有getClientId方法.此外,如果我按原样放置包含的jsp文件的内容(没有指令和c:set标签),它的工作绝对正常.有没有办法我可以使用jsp:param标签传递一个对象,并在接收端我得到它作为一个对象?

是否有可能使用jstl或我必须使用scriptlets /表达式相同?

谢谢,阿尔玛斯

jsp jspinclude parameter-passing propertynotfoundexception

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

Python在string中搜索值

我有一个像这样的字符串:

STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END
Run Code Online (Sandbox Code Playgroud)

我正试图获得curr_items的价值,到目前为止我已经得到了

out = telnet.read_until("END")
req = re.search("curr_items", out).group(0).split()[0]
Run Code Online (Sandbox Code Playgroud)

哪个返回curr_items,我该如何获取值?

谢谢

python regex string

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

PHP或SQL在日期之前3个工作日计算

我正在使用Doctrine来处理我的应用程序的ORM.在表格中我有一个'start_date'.

在php中,我可以在日期前3天计算:

date('l jS F (Y-m-d)', strtotime('-3 days'));
Run Code Online (Sandbox Code Playgroud)

但这包括周末,我想只包括工作日.

即如果一个活动是在星期三,我会在星期天收到一封提醒电子邮件.我宁愿在星期五收到提醒电子邮件.那么我如何计算只使用Mon-Fri进行计算?

如果你也知道如何在Oracle中做到这一点,那将是非常棒的.

我更喜欢在php中使用它,所以我不必使用自定义的oracle函数(如果我希望更改数据库引擎),但是在oracle中知道也是有用的:-)

多谢你们.

php sql oracle doctrine

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

如何更正下面的c ++代码?

class A1{
    public void op(){cout << "A1";}
};

class B1 : public A1{
    public void op(){cout << "B1";}
};
Run Code Online (Sandbox Code Playgroud)

似乎对我有用,但编译器报告:

错误,预计':'at void

c++ syntax

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