gpt4 book ai didi

C# 泛型转换

转载 作者:太空狗 更新时间:2023-10-30 01:11:27 26 4
gpt4 key购买 nike

Visual Studio 2008 能够自动创建单元测试 stub 。我用它来创建一些基本的单元测试,但我对某些事情感到困惑:

  private class bla : BaseStoreItem
{
//
}

/// <summary>
///A test for StoreData
///</summary>
public void StoreDataTestHelper<T>() where T : BaseStoreItem
{
FileStore<T> target = new FileStore<T>(); // TODO: Initialize to an appropriate value

BaseStoreItem data = new bla();

target.StoreData(data);
}

[TestMethod()]
public void StoreDataTest()
{
//Assert.Inconclusive("No appropriate type parameter is found to satisfies the type constraint(s) of T. " +
// "Please call StoreDataTestHelper<T>() with appropriate type parameters.");

StoreDataTestHelper<bla>();
}

当 T 的类型为“bla”时,为什么会出现“错误:无法将类型‘StorageUnitTests.FileStoreTest.bla’转换为‘T’”?

我知道“bla”不是一个好的函数名,但这只是一个例子。

最佳答案

为什么不这样呢?(如果您有权访问 T,则在 StoreDataTestHelper 中创建一个 bla 实例没有多大意义)

 public void StoreDataTestHelper<T>() where T : BaseStoreItem, new()
{
FileStore<T> target = new FileStore<T>();

T data = new T();

target.StoreData(data);
}

关于C# 泛型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2521571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com