小编Iai*_*oat的帖子

java.lang.Math和java.lang.StrictMath之间有什么区别?

显然java.lang.StrictMath包含其他功能(双曲线等)java.lang.Math但没有,但两个库中的功能是否存在差异?

java

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

C#从反射的Type中实例化通用List

是否可以从C#(.Net 2.0)中的反射类型创建通用对象?

void foobar(Type t){
    IList<t> newList = new List<t>(); //this doesn't work
    //...
}
Run Code Online (Sandbox Code Playgroud)

Type,t,直到运行时才知道.

c# generics reflection

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

如何确定类是否在Java中扩展另一个类?

在Java中,我如何确定类扩展了哪些类?

public class A{
}

public class B extends A{
}

public class C extends A{
}

public class D{
}

public class E extends B{
}

public class doSomething{

    public void myFunc(Class cls){
         //need to check that cls is a class which extends A
         //i.e. B, C and E but not A or D
    }
}
Run Code Online (Sandbox Code Playgroud)

cls.getSuperClass()做我需要的吗?

java

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

如何在不使用Visual Studio的情况下开发Microsoft Office AddIn

我正在尝试使用C#.Net开发MS Office Addin,但我无法访问Visual Studio.相反,我使用SharpDevelop作为我的IDE,(但我的问题与使用任何其他IDE开发或从命令行编译的任何人都同样相关......)

我已经做了一些搜索有关如何开发AddIns的指南,但它们似乎都需要Visual Studio并按照以下步骤操作:

  1. 安装互操作程序集
  2. 创建一个Visual Studio .Net项目(我无法做到这一点)
  3. 扩展VS ThisAddIn模板

我设法做的是:

  1. 安装互操作程序集
  2. 创建一个C#空的SharpDevelop项目
  3. 向Microsoft.Office.Interop.Outlook添加GAC引用
  4. 将COM引用添加到Microsoft Office 12.0对象库
  5. 添加线 using Outlook = Microsoft.Office.Interop.Outlook;
  6. 和线 using Office = Microsoft.Office.Core;
  7. 看一些示例代码,并意识到它们都是指我没有的VS模板和VSTO库(Microsoft.Office.Tools).

我从哪里开始?是否有我错过的指南/教程,或者有人可以提供一些指示?

c# vsto add-in sharpdevelop ms-office

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

嵌入式C#Web服务器?

在Java中,我已经能够在我的应用程序中嵌入*jetty服务器,但是.Net是否有等效的嵌入式*服务器技术?

如果可能的话,开源(FLOSS)将是首选.

*通过嵌入式我的意思是一个轻量级的Web服务器应用程序,可以与我的应用程序打包并在用户的本地桌面计算机上运行,​​以在本地提供Web服务.

.net c# embedded-server

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

C#不能从泛型方法调用重载的非泛型方法

我有一些遗留代码,方法foo有700多个重载:

[DllImport("3rdparty.dll")]
protected static extern void foo(int len, ref structA obj);
[DllImport("3rdparty.dll")]
protected static extern void foo(int len, ref structB obj);
[DllImport("3rdparty.dll")]
protected static extern void foo(int len, ref structC obj);
//and 700 similar overloads for foo...
Run Code Online (Sandbox Code Playgroud)

我想通过使用泛型的单个方法公开这些重载方法:

public void callFoo<T>(int len)
    where T : new()  //ensure an empty constructor so it can be activated
{
   T obj = Activator.CreateInstance<T>(); //foo expects obj to be empty, and fills it with data
   foo(len, ref obj);

   //...do stuff with obj... …
Run Code Online (Sandbox Code Playgroud)

c# generics reflection

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

使用对象引用设置vba类的属性

我有一个名为NormalVAC 的类模块,代码如下:

Private mLine As LineElement

Public Property Get Line() As LineElement
    Line = mLine
End Property

Public Property Set Line(ByRef vLine As LineElement)
    mLine = vLine
End Property
Run Code Online (Sandbox Code Playgroud)

以下代码使用此类:

Sub Run
    Dim Line As LineElement
    Set Line = New LineElement

    Dim Norm As Normal
    Set Norm = New Normal
    Set Norm.Line = Line 'FAILS here with "Object Variable or With Block Variable not set"'
End Sub
Run Code Online (Sandbox Code Playgroud)

另外,如果我将Normal类模块中的代码更改为:

Private mLine As LineElement

Public Property Get Line() …
Run Code Online (Sandbox Code Playgroud)

vba

16
推荐指数
2
解决办法
5万
查看次数

将.Net对象序列化为json,使用xml属性进行控制

我有一个.Net对象,我已经将其序列化为Xml并使用Xml属性进行修饰.我现在想将相同的对象序列化为Json,最好使用Newtonsoft Json.Net库.

我想直接从内存中的.Net对象转到Json字符串(不先串行化为Xml).我不希望在类中添加任何Json属性,而是希望Json序列化程序使用现有的Xml属性.

public class world{
  [XmlIgnore]
  public int ignoreMe{ get; }

  [XmlElement("foo")]
  public int bar{ get; }

  [XmlElement("marco")]
  public int polo{ get; }
}
Run Code Online (Sandbox Code Playgroud)

{
  "foo":0,
  "marco":0
}
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization json.net

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

在通用抽象类中实现强制转换操作符

我试图变得懒惰并在抽象基类中实现转换运算符,而不是在每个派生的具体类中实现.我已经成功地投了一条路,但是我无法施展另一条路.我认为这可能是不可能的,但是在放弃之前想要选择集体的思想:

public interface IValueType<T>
{
    T Value{ get; set; }
}

public abstract class ValueType<T> : IValueType<T> {
    public abstract T Value { get; set; }
    public static explicit operator T(ValueType<T> vt) {
        if(vt == null)
            return default(T);
        return vt.Value;
    }

    public static implicit operator ValueType<T>(T val) {
        ValueType<T> vt = new ValueType<T>(); //<--- obviously this won't work as its abstract
        vt.Value = val;
        return vt;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# generics abstract-class operator-keyword

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

在C#中缓存FileInfo属性

从属性的MSDN文档FileInfo.Name,我看到属性的数据在第一次被调用时被缓存,并且随后将仅使用该Refresh方法进行更新.

我有以下问题,我在文档中找不到或不太清楚:

  1. 是否同时缓存了所有属性的数据?

  2. Refresh方法是在创建时调用的FileInfo,还是仅在第一次调用属性时调用?

  3. 如果我调用了一个属性,例如Name属性,并且它被调用Refresh,将DirectoryName首次调用另一个属性(例如属性)使其Refresh再次调用,或者它是否仅由在整个类中访问的第一个属性调用(见问题#1)?

  4. 我可以通过Refresh手动调用预先缓存所有属性吗?(假设它没有在构造对象时预先缓存)

  5. Refresh手动调用是否会导致预先缓存的属性,例如CreationTime,还要刷新?

.net c# caching fileinfo

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