小编sh0*_*ged的帖子

检查System.Type是否是给定类的后代的最佳方法

请考虑以下代码:

public class A 
{
}  

public class B : A 
{
}  

public class C : B 
{
}  

class D  
{  
    public static bool IsDescendantOf(this System.Type thisType, System.Type thatType)  
    {  
        /// ??? 
    } 

    void Main()
    {
        A cValue = new C();
        C.GetType().IsDescendantOf(cValue.GetType());
    }
}
Run Code Online (Sandbox Code Playgroud)

实施IsDescendantOf的最佳方法是什么?

.net c# reflection type-systems system.type

16
推荐指数
3
解决办法
8113
查看次数

在给定字节序列开始的流中查找位置的最佳方法

您如何看待在给定字节序列开始的System.Stream中找到位置的最佳方法是什么(第一次出现):

public static long FindPosition(Stream stream, byte[] byteSequence)
{
    long position = -1;

    /// ???
    return position;
}
Run Code Online (Sandbox Code Playgroud)

PS最简单但最快速的解决方案是优先考虑的.:)

c# algorithm bytearray stream find

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

使用临时文件流进行处理

假设我想定义一个使用Path.GetTempFileName()方法创建临时文件的TempFileStream类.当不再需要TempFileStream的对象时,必须删除临时文件,例如关闭或处置:

class TempFileStream: FileStream
{
  string m_TempFileName = Path.GetTempFileName();
  public TempFileStream(FileMode fileMode): base(m_TempFileName,fileMode) {}

  /// ...

 public ovverride Dispose(bool disposing)
 {
   /// ???
 }

}   
Run Code Online (Sandbox Code Playgroud)

我该如何简单安全地实现这一目标?

c# dispose stream filestream

6
推荐指数
3
解决办法
7878
查看次数